unterschiedliches verhalten von stringstream.eof



  • Hi ich hab folgendes problem:

    ich erzeuge einen stream und lese von meinem file ein.
    dieses file ist ein textfile und enthält eine reihe von zahlen:

    10
    20
    ...

    mit stringstream konvertiere ich dann die werte zu integer.
    falls hier ein fehler aufgetreten ist überprüfe ich das mit
    sstr.eof()

    std::fstream file(filename.c_str() , std::ios::in);
    getline(file, str_number);
    std::stringstream sstr(str_number);
    sstr >> integerwert;
    if((sstr.eof()) == false)
    {
       std::cout << "konvertierungsfehler\n" << std::endl;
       return -3;
    }
    

    problem hat sich erledigt 🙂



  • Du weißt schon dass du damit nicht wirklich prüfst ob ein Fehler aufgetreten ist, sondern nur ob des EOF-Bit gesetzt wurde, welches gesetzt wird wenn das Ende erreicht ist.

    Lg freeG


Anmelden zum Antworten