Textdatei in Array einlesen (Trennzeichen)


  • Mod

    tankwart schrieb:

    SeppJ schrieb:

    Du sollst den Operator selber schreiben! Und dabei darfste mit den Trennzeichen machen, wozu du lustig bist.

    Also ist es genau das Gleiche, wie die "Lese_ein"-Funktion? Wo ist dann der Vorteil?

    Du darfst die Funktion auch gerne sdk4ht34i5heiddhe9c43h nennen, dann weiß eben auch niemand, was sie tut und wie sie zu benutzen ist und sie arbeitet nicht mit den Mitteln der Standardbibliothek (z.B. Stream-Iteratoren) zusammen. Oder du kannst dich an existierende und durchdachte Konventionen halten.



  • Mir geht eher sowas auf den Senkel:

    cerr << "Fehler beim Oeffnen der Datei" << endl;
    

    Was spricht dagegen, das Problem anzuzeigen (zB Datei gesperrt, Datei existiert nicht) ?



  • Scheppertreiber schrieb:

    Mir geht eher sowas auf den Senkel:

    cerr << "Fehler beim Oeffnen der Datei" << endl;
    

    Was spricht dagegen, das Problem anzuzeigen (zB Datei gesperrt, Datei existiert nicht) ?

    Dagegen spricht, dass diese Information bei einem std::fstream schlicht nicht vorliegt. Die Fehlerbehandlung der Standard-IO-Library ist da eben sehr einfach gestrickt.

    Ein Versuch wäre noch

    ifstream file;
        file.exceptions( ios_base::failbit | ios_base::badbit );
        file.open( "nicht-vorhanden.txt" );
    

    was dann im Text der Exception steht, ist aber ausschließlich von der Implementierung der IO-Library abhängig. Bei MS kommt da auch nur:

    ios_base::failbit set

    also kein bisschen mehr an Info.

    Bleibt noch der Rückfall in die C-Fehlerbehandlung - frag 'errno' ab. Wobei auch hier meines Wissens nicht garantiert ist, dass das gesetzt wird.

    :xmas2: Werner


Anmelden zum Antworten