Problem mit SetCurrentDirectory
-
Hallo! Ich will SetCurrentDirectory benutzen... Leider geht es nicht, wegen:
LPCWSTR p = "...."; SetCurrentDirectory(p);Error 1 error C2440: 'initializing' : cannot convert from 'const char [....]' to 'LPCWSTR'
-
Ansi/Unicode
LPCWSTR p = L"...."; SetCurrentDirectory(p);
-
Okay, das geht schon...
Aber prinzipiell wie kann ich strings zusammenkleben und dann nach den Win32 Funktionen übergeben? Folgendes funktioniert:string build = path + "exe " + startup + "set(small) debug noprint ep"; const char* app = build.c_str(); TCHAR app_s[MAX_PATH]; copy(app, app + build.size(), app_s);
-
strcpy, strcat bzw. _tcscpy, _tcscat
-
Jochen Kalmbach schrieb:
strcpy, strcat bzw. _tcscpy, _tcscat
Geht nicht.
Irgendwie muss es einen Weg geben von const char* nach LPCWSTR zu gehen...
-
khalderon schrieb:
Jochen Kalmbach schrieb:
strcpy, strcat bzw. _tcscpy, _tcscat
Geht nicht.
Irgendwie muss es einen Weg geben von const char* nach LPCWSTR zu gehen...Klar CA2W!
Ich vermute nur, dass Du einfach noch nicht die TCHAR Notation verstanden hast.Verwende doch einfach einen selbst definerten tsring...
typdef std::basic_string<TCHAR> tstring;
-
Ahja, so funktioniert es. Danke!
-
Bitte werde Dir klar was TCHAR ist eben mal ein char bzw. wchar_t!
-
TCHAR hängt vom Compiler Einstellungen ab. Einmal kann es reines "char" sein, aber auch wchar_t, was ein typedef zu wide character steht, also 2 bytes. Da ich meine Anwendung portabel schreiben will, benutze ich immer TCHAR. Der Preprozessor kümmert sich um den Rest.
Siehst du, ich habe meine Lektion gelernt