Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

EOF - jak wczytać ten znak z pliku ?!?

Ostatnio zmodyfikowano 2009-06-28 18:39
Autor Wiadomość
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?
P-8083
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.
P-8085
DejaVu
» 2009-06-28 20:12:47
C/C++
#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;
    } //while
   
    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
P-8087
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.
P-8113
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...
P-18998
« 1 »
  Strona 1 z 1