Programmverzeichnis
-
man kann ein programm auch so starten das GetCommandLine() nur DeinProgramm.exe liefert. also es ist nicht garantiert das es der vollständige pfad ist.
-
Alles klar, das wusste ich nicht. Wieder was gelernt
-
Hallo,
Danke für eure Hilfe. HAt mir sehr geholfen.
Hier meine endgültige Lösung:
CString cs; char ProgramPath[MAX_PATH]; GetModuleFileName(NULL, ProgramPath, MAX_PATH); cs = ProgramPath; cs = cs.Left(cs.ReverseFind('\\')+1); cs = cs+"FileList.ini"; m_pszProfileName=_tcsdup(_T(cs));
(Ich möchte meine .ini Datei gerne im Programmverzeichnis abspeichern... deshalb)
Gruss
BigRed
-
Falls ihr noch eine schnelle kurze Lösung haben wollt:
char buffer[_MAX_PATH]; /* Get the current working directory: */ if( _getcwd( buffer, _MAX_PATH ) == NULL ) perror( "_getcwd error" ); else printf( "%s\n", buffer );
Damit bekomt man den vollständigen Verzeichnisnamen, ganz ohne Programmnamen.
-
Ich vergaß noch zu erwähnen, dass sich _getcwd im Header <direct.h> befindet.
-
current working directory ist aber was anderes als das programmverzeichnis.
-
Nicht zu Programmstart.
Beim Start des Programms ist current working directory noch das Verzeichnis, in dem die Programmdatei liegt.
-
nein. man kann das arbeitsverzeichnis auch zum beispiel bei den eigenschaften einer verknüpfung ändern.
-
Nagut, du hast gewonnen.
-
danke