如何将char*转换为TCHAR []?

par*_*tel 4 c++ winapi tchar visual-studio-2012

char*  stheParameterFileName = argv[1]; //I'm passing the file name as  a parameter.
TCHAR szName [512];
Run Code Online (Sandbox Code Playgroud)

我怎样才能转换char*TCHAR []

Joh*_*bly 10

如果包含头文件:

#include "atlstr.h"
Run Code Online (Sandbox Code Playgroud)

然后你可以使用A2T宏如下:

// You'd need this line if using earlier versions of ATL/Visual Studio
// USES_CONVERSION;

char*  stheParameterFileName = argv[1];
TCHAR szName [512];
_tcscpy(szName, A2T(stheParameterFileName));
MessageBox(NULL, szName, szName, MB_OK);
Run Code Online (Sandbox Code Playgroud)

有关MSDN的详细信息

  • (使用VS 2013,C++)我收到此错误:错误1错误C2065:'_ lpa':此行的未声明标识符:_tcscpy(szName,A2T(stheParameterFileName)); (4认同)
  • 要摆脱C2065,你需要在代码块的某个地方的宏前添加`USES_CONVERSION;`. (2认同)