在VC ++中将TCHAR转换为LPWSTR?

时间:2011-02-28 12:01:14

标签: c++ visual-c++

如何在VC ++中将TCHAR转换为LPWSTR?

前:我有

TCHAR  achValue[16383]; 

我想将此值分配给LPWSTR。 如何在VC ++中实现

感谢任何帮助。

3 个答案:

答案 0 :(得分:4)

根据您的项目Unicode / MBCS设置,

TCHARcharwchar _ t。如果您要编译为unicode,achValue可以用作LPWSTR。如果没有,则需要使用MultiByteToWideChar才能将achValue中的字符从您使用的编码转换为UTF-16。

答案 1 :(得分:0)

如果您的项目文件已定义UNICODE标记,那么您只需执行LPWSTR p = achValue;

答案 2 :(得分:0)

您需要设置一个#ifdef'd部分来处理这两种情况:一个用于定义UNICODE(意味着TCHAR定义为wchar_t)而另一个用于何时它没有定义(你必须使用MultiByteToWideChar来转换它。)