【发布时间】:2012-04-05 11:47:46
【问题描述】:
我有以下代码:
LPCTSTR strPermission = Method();
if (strPermission == L"0")
{
return true;
}
else
{
return false;
}
在调试时,我可以看到 strPermission 确实等于“0”,但是当我像在 if 语句中那样比较它时,它总是返回 false。
我唯一能想到的是,它是在比较变量的内存地址而不是变量值。
如何将 strPermission 与 L"0" 进行比较,以便在 strPermission 等于 "0" 时返回 true。
谢谢!
【问题讨论】:
-
LPCTSTR 是
const char*或const wchar_t*,所以请考虑一下。另外,您不应该检查 NULL 或 null 终止符,而不是字符串文字“0”吗? -
您可以使用 C 风格的字符串比较函数,但使用 TCHAR 的版本,即tcscmp。
-
糟糕,我的意思是
_tcscmp,如果您尝试第一个时有些失望。 -
关闭,但这些数据类型更具体一点。这是这里的主要问题。
标签: c++ string mfc compare lpcstr