C++ 正在实施一些验证。。。卡住了
嘿,我正在尝试向我的程序添加一些验证,以确保加载了正确的文件,我的验证基于字典文件,我正在尝试实现一些东西,以确保文件中有正确类型的单词,例如名词和动词,我已经写了这个C++ 正在实施一些验证。。。卡住了,c++,C++,嘿,我正在尝试向我的程序添加一些验证,以确保加载了正确的文件,我的验证基于字典文件,我正在尝试实现一些东西,以确保文件中有正确类型的单词,例如名词和动词,我已经写了这个 if (!type.compare("n") == 0) { cout << "\nType is invalid please check file.\n" << endl; syst
if (!type.compare("n") == 0) {
cout << "\nType is invalid please check file.\n" << endl;
system("Pause");
}
这是布局,
word
,定义
,类型
和一条空白
行,从外观上看,检查类型是否匹配所有组合<代码>nv
adv
等。。。我想更改它,使其只搜索其中一种组合。下面是我精简的完整功能。由于以下原因,您的比较有问题。表情
!type.compare("n") == 0
被编译器视为
(!type.compare("n")) == 0
这意味着当type
为“n”
时,表达式为false,如!type.compare(“n”)
为“true”,并且无论如何都不等于零
取而代之的是
if (type.compare("n") != 0)
{
...
}
else // No need to do `if (type.compare("n") == 0)`
{
...
}
在这种情况下,不要使用系统(“暂停”)
。只需退出应用程序。
if (type.compare("n") != 0)
{
...
}
else // No need to do `if (type.compare("n") == 0)`
{
...
}