Datei in beliebigem Pfad schreiben
-
Hallo Leute,
ich möchte eine Datei in einem beliebigen Pfad schreiben.
std::ofstream myfile; myfile.open ("c:\meinPfad\meineDatei"); myfile << data; myfile.close();Das funktioniert nur, wenn "c:\meinPfad" schon vorhanden ist.
Wie kann ich eine Datei in einen beliebigen Pfad schreiben (so das evtl. fehlende Directories erstellt werden)?
Vorhandene Dateien sollen einfach überschrieben werden. Es soll also nichts angehängt werden.Danke für Hilfe
-
Einfach mit std::ofstream::is_open checken ob es das Verzeichnis gibt, falls nicht, einfach mit Hilfe von Boost.Filesystem erstellen: boost::filesystem::create_directory("C:\Figgn").
-
Würde es gerne ohne eine zusätzliche Bibliothek machen.
Gibts da nichts?Danke!
-
zeh_plusplus schrieb:
Würde es gerne ohne eine zusätzliche Bibliothek machen.
Gibts da nichts?Nein. Verzeichnisse kennt Standard-C++ nicht. Daher muss (und sollte) man für das Erstellen eines Verzeichnisses das Betriebssystem fragen. Das kann man theoretisch selber machen (vermutlich wird dazu inline-Assembler nötig sein), aber besser ist es die von jedem gängigen System bereitgestellten Header zu benutzen. Oder noch besser diesen Aufruf zu kapseln, damit man sich nicht von einem Betriebssystem abhängig macht.
-
ok. und wie würde man es unter Windows machen?

-