Probleme mit aktueller Pfadangabe
-
hier ein code zum auslesen des aktuellen ordners des programms:
char buf [MAX_PATH+2]; GetModuleFileName(NULL,(LPWCH)buf,MAX_PATH); std::stringstream folder; folder << buf;aber warum ist in 'folder' nur der erste buchstabe von buf, also ein einfaches C fuers aktuelle laufwerk?
DANKE!
STICK.
-
LPWCH ist ein Zeiger auf wchar_t (UNICODE-Zeichen), den solltest du nicht mit normalen char's mischen (erstens sind wchar_t's größer als char, so daß der GetModuleFileName-Aufruf zu Speicherproblemem führen könnte, und zweitens werden die höherwertigen Bits der umgewandelten char-Werte mit 0 aufgefüllt, was bei der Rückinterpretation als char* als Stringende gilt).
Entweder du stellst dein Projekt um auf ANSI-Modus (dann entfällt der Cast nach LPWCH) oder du verwendest wchar_t (bzw. TCHAR) und wstringstream anstelle von char und stringstream.
-
danke schoen.
koenntest du mir bitte noch sagen, wo die projektumstellung in ANSI vorgenommen werden muss?
(Properties->General->Character Set?)
DANKE.
-
okay, habe den passenden link doch noch gefunden:
http://www.thescripts.com/forum/thread458533.html