如何在VC ++中将TCHAR与String值进行比较? 我的项目不是Unicode。 我这样做:
TCHAR achValue[16523] = NULL;
if(achValue == _T("NDSPATH"))
{
return FALSE;
}
当achValue =“NDSPATH”时,此条件也不满足。
感谢任何帮助。
答案 0 :(得分:4)
TCHAR或任何字符串数组只是指向第一个字符的指针。你要比较的是指针的值,而不是字符串。此外,您将数组指定为null,这是无意义的。
使用strcmp的win32变体。如果使用_tcscmp宏,它将在编译时使用正确的多字节/ unicode函数。
#define MAX_STRING 16523;
TCHAR achValue[MAX_STRING];
ZeroMemory(achValue, sizeof(TCHAR) * MAX_STRING);
sprintf(achValue, MAX_PATH, _T("NDSPATH"));
if (!_tcscmp(achValue, _T("NDSPATH"))
{
// strings are equal when result is 0
}
答案 1 :(得分:0)
您不应该改用 _tprintf 吗?