Stammpfad ändern

Liebe Leute

Ich habe das Problem, dass bei meinem Programm der Stammpfad nicht immer stimmt (sprich „ausführen in“), so dass ich nicht mehr system(„prg.exe“); machen kann, sondern ausdrücklich system(„C:\ordner\prg.exe“); verlangen muss.
Leider ist das Programm bereits mit Relativpfaden zugepflastert und es würde Stunden dauern, alle Pfade anzupassen.
Gibt es irgend eine Funktion, mit der ich den Stammpfad ändern kann?

lg
Kalsan

Geheim !!!
Haqllo Kalsan,

Gibt es irgend eine Funktion, mit der ich den Stammpfad ändern
kann?

Ja, aber die ist geheim!

Dein Problem hat nichts mit C zu tun.
Pfade und Dateien werden vom Betriebssystem verwaltet und sind nicht Bestandteil von C/C++.

Da du das verwendete Betriebssystem und Compiler geheim hälst, ist die gesuchte Lösung auch geheim.

MfG Peter(TOO)

-D

Windows XP bis Windows 7, Compiler von Dev-C++.

lg
Kalsan

Hallo Kalsan!

Die meisten C-Compiler implementieren die Funktion ‚chdir()‘ (oder ‚_chdir()‘ wie z.B. im Microsoft Visual Studio) die den von dir gewünschten Zweck erfüllt.
Sieh z.B.:
http://www.gnu.org/software/libc/manual/html_node/Wo…

mfg
Christof

Hallo,

Windows XP bis Windows 7, Compiler von Dev-C++.

Also unter Windows XP kann ich beim rechtsklick auf ein Desktop-Symbol auf „Propeties“ gehen, und mit „Shortcut“-Reiter den „Start in“-Pfad veraendern - das sollte das sein, was du brauchst.

Gruesse,
Moritz (normalerweise nicht unter Windows unterwegs).

Das Programm ändert den Pfad selbständig, anfangs ist der Ordner richtig, aber beim Ausführen einer Funktion wird der Pfad geändert. Deshalb muss ich den Pfad danach wieder zurückändern.

lg
Kalsan

Tönt gut, mal probieren…

BOOL WINAPI SetCurrentDirectory(
 \_\_in LPCTSTR lpPathName
);

?

http://msdn.microsoft.com/en-us/library/aa365530(VS…

Das Programm ändert den Pfad selbständig, anfangs ist der
Ordner richtig, aber beim Ausführen einer Funktion wird der
Pfad geändert. Deshalb muss ich den Pfad danach wieder
zurückändern.

Dann musst du das wohl machen. Dir wurde ja schon beschrieben wie das geht.

Gruesse,
Moritz

…gelöst
Perfekte Antwort, geht nicht besser, nicht einfacher, nicht klarer :smile:

Danke!

*4u