Verzeichnis wechseln

andreas_gierisch

Erfahrenes Mitglied
Hallo, ich möchte zur Laufzeit eine Datei in dem Hauptverzeichnis speichern, das Problem ist nur, wenn ich vorher eine andere Datei über einen OpenDialog aus einem Unterverzeichnis lade, dann nutzt das Programm zum Speichern ebenfalls dieses Unterverzeichnis.
Wie kann ich in das Hauptverzeichnis zurückwechseln? Ich möchte dazu aber keinen SaveDialog verwenden, sondern einfach über einen ofstream.

mfg, andreas gierisch
 
Genau wegen so was baue ich mir beim Laden und Speichern IMMER den absoluten Pfad einer Datei zusammen. Ich hole über GetModuleFileName den Pfad meiner Anwendung und klebe dann die relativen Pfade dran. Dadurch ist es völlig egal, wo das aktuelle Verzeichnis steht.
 
SetCurrentDirectory nützt mir leider nicht viel, wenn ich den Pfad der Anwendung nicht kenne.

@Endurion: Kannst du mir kurz erklären, wie ich über GetModuleFileName den Pfad der Anwendung abrufen kann?
 
muss nochmal kurz stören, ich hab jetzt folgende Funktion:
Code:
char* getfilepath()
{
char szDirName[MAX_PATH];
GetModuleFileName(NULL, szDirName, MAX_PATH-1);
*strrchr(szDirName,'\\') = 0;
return szDirName;
}


Bei dem return bekomme ich eine Compiler-Warnung (verdächtige Zeigerumwandlung), kann ich die irgendwie vermeiden?
 
moin


Statt das per return zu machen, könntest du das auch gut über einen Parameter machen.


mfg
umbrasaxum
 

Neue Beiträge

Zurück