¿Cómo estoy usando CA2W incorrectamente?
Pregunta
Por favor, ¿podría alguien explicar por qué esto no funciona?
char *test = "test";
_TCHAR *szTest = CA2W(test);
Y, por favor, dime qué debo hacer en su lugar.
En lugar de darme el mismo texto, me está dando:
Solución
Según MSDN, eso es malo. Así que he usado esto en su lugar:
char *test = "test";
CA2W szTest(test);
Desde aquí, podemos obtener un tipo LPWSTR si realmente queremos:
LPWSTR test = szTest.m_psz;
También parece mejor usar LPWSTR en lugar de _TCHAR *, pero no estoy seguro (creo que son esencialmente lo mismo, pero podría estar mal).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow