Char* zu LPCWSTR
-
LPWSTR buffer; buffer=(LPWSTR)malloc(MultiByteToWideChar(CP_UTF8,0,titel,-1,buffer,0)); MultiByteToWideChar(CP_UTF8,0,titel,-1,buffer,sizeof(buffer)/sizeof(buffer[0]));
Funktioniert aber leider immer noch nicht! GetLastError() meckert nicht!
-
hmmmmmmmmm schrieb:
Martin Richter schrieb:
CA2W ist eine fertige Funktion in tchar.h
Hö? Ist das nicht aus der ATL?
Sorry! Ist natürlich ATL...
-
#include <atlbase.h>
und dann in deine Funktion:
USES_CONVERSION;
A2W(charvar,widevar);
-
Die Makroc *ohne* ein "C" ganz vorne sollte man eigentlich nicht mehr verwenden! Sie haben massive Probleme, wenn diese in einer Schleife verwendet werden... Auch ist immer das "unschöne" USES_CONVERSION notwendig...
Die neuen Makros verwenden Templates, da ist es viel schöner=>
CA2*
-
@DaRpH: Danke für den Tipp! Leider findet der Compiler die atlbase.h nicht. Woran kann das legen?
-
Hast du die Express Edition?
-
Ist dir bewußt das bei
LPWSTR buffer;
sizeof(buffer) == 4 ist?
-
Ja, ich habe die Express Edition
-
dann gehts nicht, da ist ATL nicht bei.
-
# include <tchar.h>
static LPCWSTR mTitle = _T("cat.wav");