我如何错误地使用CA2W?

时间:2009-10-23 14:15:16

标签: char tchar

请有人解释为什么这不起作用?

char *test = "test";
_TCHAR *szTest = CA2W(test);

请告诉我我应该做些什么。

而不是给我平等的文字,它给了我:

﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾

1 个答案:

答案 0 :(得分:4)

根据MSDN,这很糟糕。所以我改用了它:

char *test = "test";
CA2W szTest(test);

从这里开始,如果我们真的需要,我们可以获得LPWSTR类型:

LPWSTR test = szTest.m_psz;

使用LPWSTR而不是_TCHAR *似乎也更好 - 但我不确定(我认为它们本质上是相同的,但可能是错误的。)