【发布时间】:2014-04-21 20:10:42
【问题描述】:
在 Visual Studio 中,为什么要将字符(以前是 char,现在是 wchar_t)的值与 -1 的值进行比较?
我有一个项目对 -1 进行了多次无效检查:
TCHAR ch;
...
if(ch==-1)
Coverity 告诉我“ch == -1”总是假的,不管其操作数的值如何。”
现在,它最初是为使用 char 值而不是 wchar_t 而编写的,并在需要 unicode 支持时进行了升级。我需要弄清楚为什么“char ch;”正在针对 -1 进行检查,以便我可以针对 wchar_t 进行类似的检查。
【问题讨论】:
-
表示文件结束(
EOF)。 -
通常表示 EOF 或某种错误。使用您从中获取价值的位置更新您的代码,这将使我们能够更好地帮助您。