我有一个TCHAR定义如下:
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
我想说明如下:
if(szProcessName == "NDSClient.exe")
}
但接下来我会发现错误:
error C2446:==:没有从const *到TCHAR *的转换
错误C2440:'==‘:无法从'const 14’转换为'TCHAR 260'
发布于 2010-11-17 06:04:49
"NDSClient.exe"
是windows上的
const char*
字符串。如果您希望它成为一个
const TCHAR*
,那么您需要使用
TEXT
宏。此外,您不能使用
==
比较字符串,可以使用等效的
TCHAR
函数(如
_tcscmp
)。
发布于 2010-11-17 08:41:29
你也可以用。
L"some string"
制作TCHAR*。但我建议您使用
std::wstring
(模拟
std::string
和as
std::string
需要
#include <string>
),而不是使用TCHAR*。
示例:
#include <windows.h>
#include <string>
#include <iostream>
using namespace std;
int main()