Hallo,
Mit MS CPP6 unter XP möchte ich den Pfad meiner exe erfahren ( um dort weitere Dateien zu suchen/finden/öffnen/bearbeiten ). Würde mich über einen 3-Zeiler freuen, ein kleines Beispiel, oder auch nur die Zauberworte, nach denen ich suchen muss.
Einen angenehmen Restsonntag wünscht
Uwe P.
             
            
              
              
              
            
            
           
          
            
            
              Hallo Hick,
unter XP möchte ich den Pfad meiner exe erfahren
Unter einer Win32/WinMain-Umgebung:
{
 ...
 char exepfad[128]; // ad hoc!
 GetModuleFileName(NULL, exepfad, 128);
 1[strrchr(exepfad, '\\')] = '\0';
 ...
 // exepfad jetzt: "c:\\programme\\super\\" 
}
In einer Win32/Konsole-Umgebung:
 int main(int argc, char \*argv[])
{
 char exepfad[128];
 1[strrchr(strcpy(exepfad, 0[argv]), '\\')] = '\0';
 printf("pfad: %s \n", exepfad);
 ...
}
… wenn ich mich richtig entsinne …
(kann auch sein, dass man die Dereferenzierungs-Indices
„anders rum“ schreiben sollte - aber Du wolltest ja
nur einen „Hinweis“ 
Grüße
CMБ
             
            
              
              
              
            
            
           
          
            
            
              Hallo Uwe !
Wie bereits weiter unten gesagt kannst du den Übergabeparameter argv[0] verwenden, in dem der volle Pfad des aufgerufenen Programms steht (der ist uebrigens global auch unter __argv[] erreichbar).
Schöner ist natürlich die Verwendung der Funktion getcwd() mit der du das aktuelle working-directory ermitteln kannst, dadurch kann man das Programm auch mit verschiedenen working-directories aufrufen.
Kommt halt darauf an, was genau man erreichen will.
mfg
Christof
Mit MS CPP6 unter XP möchte ich den Pfad meiner exe erfahren (
um dort weitere Dateien zu suchen/finden/öffnen/bearbeiten ).