EOF - jak wczytać ten znak z pliku ?!?
Ostatnio zmodyfikowano 2009-06-28 18:39
GoldWolf Temat założony przez niniejszego użytkownika |
EOF - jak wczytać ten znak z pliku ?!? » 2009-06-28 18:32:06 Mam plik, który posiada 30 znaków z czego jest tak kilka, które oznaczają EOF ale nimi nie są, a raczej oczywiście oznaczają koniec pliku ale nie są ostatnim znakiem w pliku. Jak to wczytać by wszystkie 30 znaków było wczytane w stringa? |
|
GoldWolf Temat założony przez niniejszego użytkownika |
» 2009-06-28 18:53:13 Mam plik test.txt W pliku: MamaEOFTataEOFEOF Pętle while (!plik.eof) i wczytuje mi tylko Mama. To oczywiście może być inny znak ale wychodzi mi z pętli, jak go usunę to mam wczytane MamaTata, znak wygląda jak prostokąt. W7 widzi tak "". PS Tu jest http://www.sendspace.com/file/oyd7u1, mnie wczytuje tylko 25 znaków. |
|
DejaVu |
» 2009-06-28 20:12:47 #include <fstream> #include <string> #include <iostream> using namespace std;
int main() { fstream plik; plik.open( "1.txt", ios::in | ios::binary ); if( !plik.good() ) return 0; while( !plik.eof() ) { string wiersz; getline( plik, wiersz ); cout << "Dane: " << wiersz << endl; cout << "Dlugosc: " << wiersz.length() << endl; cout << "--------------" << endl; } plik.close(); return 0; }
Wyjście: Dane: sš▼[´ËVŠ°T'ó&╠Ŕ╝˛Ű§Ń←aŔ§_→Moja mama test. Dlugosc: 41 --------------
Process returned 0 (0x0) execution time : 0.015 s Press any key to continue.
Code::Blocks Release 8.02 (2008-02-27 19:55:16) gcc 4.2.1 Windows/unicode |
|
GoldWolf Temat założony przez niniejszego użytkownika |
» 2009-06-30 21:14:41 Działa na razie jest w fazie testów ale jestem dobrej myśli.
|
|
manfred |
» 2009-06-28 18:39:36 Jak ostatnio sprawdzałem to taki znak jak EOF nie istniał, więc może operator>>(istream&, fred&), getline(istream&, string&), basic_istream<>::read()? Na wszelki wypadek otwórz plik binarnie... |
|
« 1 » |