In Unterverzeichnis speichern
-
Hallo Leute,
ich möchte in meinem C++ Programm einige Daten in eine Datei speichern. Diese soll aber nicht im aktuellen Workspace liegen, sondern in einem Unterverzeichnis. Das Problem was ich nun habe: Wenn das Unterverzeichnis schon da ist funktioniert alles einwandfrei, wenn es aber erst noch erstellen werden muss, dann klappt es nie:
Mit diesem Code bekomme ich immer "Fehler !"
datei.open(this->blz + "\\daten.txt", ios::binary | ios::out ); if( !datei ) { cout << "Fehler !" << endl; return -1; }Auch wenn ich direkt ein Verzeichnis angebe (was noch nicht da ist) gibt es ein Fehler.
datei.open("blubb\\daten.txt", ios::binary | ios::out ); if( !datei ) { cout << "Fehler !" << endl; return -1; }Nur wenn ich das besagte Verzeichnis vorher erstelle, funktioniert es. Wie kommt das?

-
Na ist doch klar, wenn das Verzeichnis nicht existiert das es da einen Fehler kommt oder nicht!?Du musst das Verzeichnis vorher programmatisch erstellen lassen.
-
Firefighter schrieb:
Na ist doch klar, wenn das Verzeichnis nicht existiert das es da einen Fehler kommt oder nicht!?Du musst das Verzeichnis vorher programmatisch erstellen lassen.
Na so klar ist das für mich nicht

Wie mache ich das denn? Weil eigentlich ist das Unverzeichnis ja dynamisch (siehe this->blz).
-
Schau mal hier
http://www.computing.net/answers/programming/c-createdirectory/13483.htmldu benötigste dazu die "CreateDirectory" Funktion aus dem Header "windows.h"
-
Firefighter schrieb:
Schau mal hier
http://www.computing.net/answers/programming/c-createdirectory/13483.htmldu benötigste dazu die "CreateDirectory" Funktion aus dem Header "windows.h"
Wobei man hier bemerken muss, dass dies nicht mehr C++ ist, sondern WinAPI und somit von der Platform Windows abhängig:
http://msdn.microsoft.com/en-us/library/aa363855.aspxC++ kennt eben kein Filesystem, es kann höchstens Files öffnen, lesen, schreiben und schliessen, das ist alles.
Für Platformunabhängige Filesystem-Möglichkeiten bietet sich Boost.Filesystem an:
http://www.boost.org/doc/libs/1_39_0/libs/filesystem/doc/index.htmGrüssli