Relative Pfade setzen

Hallo,

Wie kann ich den Standarpfad ändern, der bei relativen Dateipfaden verändert wird?

Bsp.:

Ich öffne eine Textdatei mit
fopen („hallo.txt“, „w“);
und im Ordner der Exedatei wird die Datei „hallo.txt“ geöffnet.

So weit so gut.
Wenn ich jetzt mit CFileDialog::smiley:oModal eine
Datei auf der Festplatte auswähle, wird der Standartpfad geändert und
ist nicht mehr der Pfad der Exedatei sondern der Pfad der ausgewählten Datei.

Jetzt öffnet fopen(„hallo.txt“, „w“); die Datei im Ordner der
mit CFileDialog::smiley:oModal ausgewählten Datei, also
„hallo.txt“ wird z. B. im Ordner „C:/XYZ“ geöffnet, obwohl sich das Exeprogramm in C:/Programmieren/C++" befindet.

Wie kann ich erreichen das der Standartpfad wieder auf den Ordner der
Exedatei zurückgesetzt wird ?!?

Brauche dringend Hilfe!

mfg

Tim

Das aktuelle Verzeichnis hat man schlecht im Griff - ich würde für diesen Fall immer feststellen, von welchem Pfad die EXE geladen wurde, und dann in fopen mit dem vollen Pfad arbeiten. Das funktioniert sicher und ist nicht mehr Arbeit, als andersherum das aktuelle Verzeichnis auf ebendiesen Pafd zu setzen (wozu man ihn auch erst wissen muss.)
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]