我有一個問題,我根本找不到!錯誤的字符串比較
在我的程序中,用戶輸入要排序的數字。我必須能夠對無窮大,負無窮和所謂的「無效」進行排序(這些是我在程序早期定義的)
如果用戶想要輸入無窮大,例如他們必須在字符串中輸入「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