Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Ersatz für getcwd?





Frage

Tach auch, gibt es für getcwd einen Ersatz, d.h. eine Fkt. die ich dafür benutzen kann das Verzeichnis zu ermitteln in dem das Programm sich befindet (also seine Startdatei - nich in dem es gerade arbeitet... wobei das ja egal ist wenn man beim initialisieren die Fkt. ausführt)? Am besten wäre natürlich eine Fkt. die mit CString arbeitet =) Und in diesem zusammenhang frage ich mich auch ob es eine Methode gibt mit der man CStrings an Programme übergeben kann die ein char-array erwarten. Für char-arrays oder ANSI-strings gibt es: array_oder_string.c_str() MfG und schonmal danke im vorraus

Antwort 1 von CREe.K

Hallo,

DWORD GetModuleFileName(
HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer to receive module path
DWORD nSize // size of buffer, in characters
);
dabei hModule = NULL setzen
[nachzulesen in MSDN]

Fast alle Funktionen erwarten kein array sondern ein Zeiger auf den Anfang eines arrays. mit der Funktion _string.cstr() kann man aus einen bestehenden String einen c_str erhalten, so dass man dennoch zunächst ein *char bzw char[xy] anlegen muss.
(oder wie meinst du das jetzt?!)
char str[] = "abc";
CString cstr = str;
bzw.
CString cstr("abc");
char str[4];
strncpy(str,cstr,4);

Gruß CREe.K