Come sto usando CA2W in modo errato?
Domanda
Per favore qualcuno potrebbe spiegare perché questo non funziona?
char *test = "test";
_TCHAR *szTest = CA2W(test);
E per favore dimmi cosa dovrei fare invece.
Invece di darmi lo stesso testo, mi sta dando:
Soluzione
Secondo MSDN, è un male. Quindi ho usato questo invece:
char *test = "test";
CA2W szTest(test);
Da qui, possiamo ottenere un tipo LPWSTR se vogliamo davvero:
LPWSTR test = szTest.m_psz;
Sembra anche meglio usare LPWSTR invece di _TCHAR * - ma non sono sicuro (penso che siano essenzialmente la stessa cosa, ma potrebbero essere sbagliati).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow