我有一个问题,我根本找不到!错误的字符串比较
在我的程序中,用户输入要排序的数字。我必须能够对无穷大,负无穷和所谓的“无效”进行排序(这些是我在程序早期定义的)
如果用户想要输入无穷大,例如他们必须在字符串中输入“Pinf” 。
我的问题是我将用户输入存储在std :: string中,然后检查字符串是“pinf”还是“Pinf”,即使我输入了数字3以使字符串为“3”进入if语句,我做错了什么?!
我的代码如下;
string Temp;
cin>> Temp;
if (Temp.find("Pinf")||Temp.find("pinf")) {
Num = Pinfinity;
}
它认为if语句每次都是真的。
您正在使用位'更改|'操盘逻辑的''||操作。 – Netwave
你的意思是'||'而不是'|'吗?如果单词首先作为句子的一部分出现,则逻辑不正确。 – Mahesh
除了不正确的操作符,[阅读文档](http://en.cppreference.com/w/cpp/string/basic_string/find)。 – chris