C++ 在VC+中将TCHAR转换为LPWSTR+;?
如何在VC++中将TCHAR转换为LPWSTR 我有C++ 在VC+中将TCHAR转换为LPWSTR+;?,c++,visual-c++,C++,Visual C++,如何在VC++中将TCHAR转换为LPWSTR 我有 TCHAR achValue[16383]; 我想把这个值分配给LPWSTR。 如何在VC中实现这一点++ 非常感谢您的帮助。如果您的项目文件定义了UNICODE标志,那么您只需执行LPWSTR p=achValueTCHAR是基于项目Unicode/MBCS设置的char或wchar\t。如果您是以unicode进行编译,achValue可以用作LPWSTR。如果没有,您需要使用MultiByteToWideChar,以便将achVa
TCHAR achValue[16383];
我想把这个值分配给LPWSTR。
如何在VC中实现这一点++
非常感谢您的帮助。如果您的项目文件定义了
UNICODE
标志,那么您只需执行LPWSTR p=achValue
TCHAR
是基于项目Unicode/MBCS设置的char
或wchar
\t。如果您是以unicode进行编译,achValue
可以用作LPWSTR
。如果没有,您需要使用MultiByteToWideChar
,以便将achValue
中的字符从您使用的编码转换为UTF-16。您需要设置一个\ifdef
'd部分来处理这两种情况:如果定义了UNICODE(意思是TCHAR
定义为wchar
)另一个用于未定义的情况(必须使用MultiByteToWideChar
进行转换)。首先为什么要使用TCHAR
?如果您针对的是任何现代版本的Windows,您应该使用wchar\u t
。我必须将代码从旧的ANSI项目复制/复制到旧的ANSI项目中,TCHAR使这变得更容易。不,我使用的是多字节字符集