fstream: ios::in UND ios::out gemeinsam nutzen



  • Hallo,

    Ich möchte gerne eine Datei schreiben und anschließend ausgeben!

    Aber ich kann nur ios::in ODER ios::out nutzen! Warum?

    -flush() hab ich gemacht
    -seekg(0) auch
    Die Textdatei wird nur erstellt, wenn ich kein ios::in sondern nur ios::out nutze, dass funktioniert aber:

    fstream f;
    f.open("test", ios::out);
    f << "Test";
    f.close();
    f.open("test", ios::in);
    string ix;
    f.seekg(0);
    f >> ix;
    f.close();
    cout << ix << "!";
    

    Geht nicht:

    string ix;
    fstream f;
    f.open("test", ios::out|ios::in);
    f << "Test";
    f.flush();
    f.seekg(0);
    f >> ix;
    f.close();
    cout << ix << "!";
    

    Sieht aber i-wie doof aus... Geht das nicht auch anders/besser/schöner?

    Danke im Voraus!



  • Was genau meinst du mit "geht nicht"? Gibt es Fehlermeldungen oder was?



  • sry! Voll vergessen:

    Verwende ich beides, wird erst gar keine Textdatei erstellt! Folglich kann ich die auch nicht lesen.
    (Dateiexplorer zeigt sie nicht an, Mein Test sieht sie auch nicht ;()

    Verwende ich erstgennante Lösung, geht's.
    (Dateiexplorer zeigt sie an, Mein Test sieht sie auch ;))



  • Die Compiler (bcc/gcc/ming) werfen keine Fehler...

    Hat keiner eine IDEE?



  • Ich hab immer noch keine Lösung gefunden... Bin ich zu blöd?


Anmelden zum Antworten