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:

﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾
Foi útil?

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
scroll top