Konvertierung von LPWSTR nach TCHAR
-
Hallo rundherum,
folgendes Codeschnippselchen bereitet mir Kopfzerbrechen:
wchar_t pfad = *g_psc->lpBinaryPathName; wprintf(L"%s",&pfad); TCHAR* strPath = &pfad;g_psc_lpBinaryPathName ist ein LPWSTR (LPWSTR *__w64)... der Code kompiliert ohne Beschwerde, aber das wprintf gibt nur den ersten Buchstaben richtig aus, und ansonsten Fragezeichen.
Meine Kenntnisse über die Konvertierung von Zeichenketten sind leider nicht die besten...Hat einer von euch eine Idee, woran die Konvertierung scheitert?
Viele Grüße & vielen Dank für jede Hilfe
Carsten
-
Verwende das Konvertierungs-Makros:
LPCTSTR strPath = CW2CT(pfad);PS: Auch solltest Du "pfad" als Zeiger definieren und nicht nur ein einzelnen Zeichen... also
LPCWSTR pfad = g_psc->lpBinaryPathName;PPS: Bist Du ganz sicher, das "g_psc->lpBinaryPathName" IMMER ein LPCWSTR ist!?
-
Oder man verwendet ganz einfach einen CString als Konverter. Das ist u.U nachtürlich nicht performant.
CString str(g_psc->lpBinaryPathName);
-
Also, ich muss sagen, hier kann man gar nicht so schnell "Danke" sagen, wie geholfen wird.
Problem mittels Tipps gelöst, und der Verdacht im PPS von Jochen war auch richtig...