Datei während der laufzeit erstellen.



  • Hi Leute.
    Ich versuche ein Programm zu machen der auf eine datei zugreift und in diese per fstream reinschreibt. Jetzt aber sol diese Datei, falls sie noch nicht vorhanden ist erzeugt werden. Wie mache ich das? Falls es wichtig ist ich habe windows als betriebssystem.

    Mfg Wikinger75!



  • Die Datei wird automatisch erzeugt, wenn du sie standardmässig öffnest. Mehr dazu...



  • Hey Leute.
    Ich hohle mal diesen Thread aus der versenkung da es imme rnoch Thema ist für mich^^ Der Link oben ist keine große hilfe für mich. Ich instaliesiere es standartlich und es wird die Datei nicht erzeugt nur geöffnet wenn sie existiert!

    Beispiel Code von mir:

    fstream Datei("MyDat.txt");
    Datei << "Do Stuff!" << 'n';
    Datei.close();
    

    Wieso erstellt er die Datei nicht wie er es sollte?

    Mfg Wikinger75!



  • Ich instaliesiere es standartlich und..

    Das sollte man sich ausdrucken, einrahmen und aufhängen.
    Simon


  • Administrator

    Wikinger75 schrieb:

    Wieso erstellt er die Datei nicht wie er es sollte?

    Weil std::fstream auch zum Lesen verwendet werden kann. Per Default sind die Flags so gesetzt, dass auch ein std::ios::in gesetzt ist. std::ios::in garantiert, dass das File nicht verändert wird, bzw. wenn kein File vorhanden ist, wird auch keines erstellt. Am einfachsten ist es, wenn du std::ofstream verwendest:

    ofstream Datei("MyDat.txt");
    Datei << "Do Stuff!" << 'n';
    Datei.close();
    

    Grüssli



  • Wikinger75 schrieb:
    Wieso erstellt er die Datei nicht wie er es sollte?

    Weil std::fstream auch zum Lesen verwendet werden kann. Per Default sind die Flags so gesetzt, dass auch ein std::ios::in gesetzt ist. std::ios::in garantiert, dass das File nicht verändert wird, bzw. wenn kein File vorhanden ist, wird auch keines erstellt. Am einfachsten ist es, wenn du std::ofstream verwendest:

    C/C++ Code:
    ofstream Datei("MyDat.txt");
    Datei << "Do Stuff!" << 'n';
    Datei.close();
    

    Grüssli

    Also müsste es aber auch noch so hier gehen oder?

    fstream Datei("MyDat.txt",ios::out);
    Datei << "Do Stuff!" << 'n';
    Datei.close();
    

    Hmm naja ich glaub per ofstream ist es weniger umständlich...

    Danke für die Info^^
    THX

    Mfg Wikinger75!


Log in to reply