Problem z odczytaniem zawartości pliku <fstream>
Ostatnio zmodyfikowano 2013-11-24 18:47
Zdziwiony Temat założony przez niniejszego użytkownika |
Problem z odczytaniem zawartości pliku <fstream> » 2013-11-24 17:36:10 Witam, mam problem z odczytaniem danych z pliku *.txt Mój kod wygląda następująco: if( komenda == "otworz" ) { string nazwa = "przyklad.txt"; cout << "Podaj sciezke pliku do otworzenia\n"; cin >> nazwa; fstream plik2; plik2.open( nazwa.c_str(), std::ios::in | std::ios::out ); if( plik2.good() == true ) { std::cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl; char bufor[ 1024 ]; plik2.read( bufor, 1024 ); } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl; } system( "pause" ); Ten kod co prawda po podaniu nazwy pliku lub jego ścieżki wywala komunikat, że plik otwarto pomyślnie, lecz nie chce wczytać mi do konsoli zawartości pliku ;/ Gdzie popełniłem błąd ? Pozdrawiam |
|
pekfos |
» 2013-11-24 17:41:44 Skąd wiesz, że nie chce? |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 17:43:21 Bo odpaliłem program wpisałem nazwę pliku czyli: test.txt (znajdował on się w tym samym katalogu co plik .exe) no i wyskoczył komunikat: "Plik otwarto pomyślnie (...)" A zawartości pliku nie wczytał ;/
PS: Oczywiście plik.txt zawiera kilka znaków tj: "abcde" |
|
Wasilek |
» 2013-11-24 17:45:34 Sprawdź czy aby na pewno nic nie ma w zmiennej "bufor" :) |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 17:47:31 Nic nie ma. Cały kod: #include <iostream> #include <fstream> #include <string> #include <windows.h>
using namespace std;
int main() { cout << "Co chcesz zrobic:\nUtworz - Utworz\nOtworz - otworz\n"; string komenda; SetConsoleTitleA( "Notepad:D" ); cin >> komenda; if( komenda == "utworz" ) { string nazwa = "przyklad.txt"; cout << "Podaj nazwe pliku do utworzenia"; cin >> nazwa; ofstream plik( nazwa.c_str() ); plik.open( nazwa.c_str(), std::ios::in | std::ios::out ); if( plik.good() == true ) { std::cout << "Plik zostal utworzony!" << std::endl; } else std::cout << "Wystapil blad! Nie mozna utworzyc pliku!" << std::endl; } if( komenda == "otworz" ) { string nazwa = "przyklad.txt"; cout << "Podaj sciezke pliku do otworzenia\n"; cin >> nazwa; fstream plik2; plik2.open( nazwa.c_str(), std::ios::in | std::ios::out ); if( plik2.good() == true ) { std::cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl; char bufor[ 1024 ]; plik2.read( bufor, 1024 ); } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl; } system( "pause" ); } Dziwne, że nie działa... Co nie ? |
|
pekfos |
» 2013-11-24 17:49:11 Gdzie to sprawdzasz? Dziwne, że nie działa... Co nie ? |
Nie. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 17:49:37 W folderze na pulpicie :) |
|
kubek3898 |
» 2013-11-24 17:49:42 Wczytujesz plik do bufora, ale później nic z tym buforem nie robisz (np. nie wyświetlasz go). |
|
« 1 » 2 3 4 |