Programm-Pfad
-
Wie kann man den Programm-Pfad erhalten?
-
Mit betriebssystemabhängigen Mitteln. Welche dürfen es sein?
-
Der komplette Pfadname steht üblicherweise in argV[0].
int main( int argC, char* argv[] );
-
Normalerweise steht der Exe-Pfad als nullterminierter String in argv[0], auch wenn der Standard es nicht garantiert.
#include <iostream> int main(int argc, char* argv[]) { std::cout << argv[0] << std::endl; return 0; }Da kannst du dir den Pfad dann ja als Substring zum letzten '\' rausholen.
Falls du für Windows programmierst, tuts GetModuleFileName (http://msdn.microsoft.com/en-us/library/ms683197(VS.85).aspx) auch, aber das gehört ja nicht in dieses Subforum hier.

Edit: Mist, ich war zu lahm.
-
DocShoe schrieb:
Der komplette Pfadname steht üblicherweise in argV[0].
überlicherweise stimmt (ist nicht immer so) aber der Pfadname ist üblicherweise relativ.
-
Die apokalüpse schrieb:
DocShoe schrieb:
Der komplette Pfadname steht üblicherweise in argV[0].
überlicherweise stimmt (ist nicht immer so) aber der Pfadname ist üblicherweise relativ.
Realtiv zum CWD?
-
Bevor hier zu viel Begeisterung bezüglich argv[0] aufkommt: Probiert mal aus was herauskommt wenn man Programme über Verknüpfungen, Aliase oder Suchpfade startet.