Como estou usando o CA2W incorretamente?
Pergunta
Por favor, alguém poderia explicar por que isso não funciona?
char *test = "test";
_TCHAR *szTest = CA2W(test);
E por favor me diga o que eu deveria estar fazendo.
Em vez de me dar um texto igual, está me dando:
Solução
Segundo o MSDN, isso é ruim. Então eu usei isso em vez disso:
char *test = "test";
CA2W szTest(test);
A partir daqui, podemos obter um tipo LPWSTR, se realmente quisermos:
LPWSTR test = szTest.m_psz;
Também parece melhor usar o LPWSTR em vez de _tchar * - mas não tenho certeza (acho que eles são essencialmente a mesma coisa, mas podem estar errados).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow