我的 c++ 程序似乎没有发现字符串和我拥有但输入使用 getline 的变量之间的比较



我有一个名为input的字符串变量,我使用它getline输入文本。当我尝试将变量input与另一个字符串(例如if(input == "new game")(进行比较时,它似乎无法评估比较。我知道它实际上是在输入正确的文本,因为当我在input上使用cout时,它会正确输出(输入"新游戏"将输出"新游戏"(。我查找了getline的问题,我读到cin在输入字符串中留下了n,该输入字符串由getline拾取。我尝试使用cin.ignore()cin.clear()cin.sync(),但它们似乎无法解决问题。此外,无论如何,getline(cin, input)之前没有任何输入。有问题的代码是吹的,任何帮助不胜感激,谢谢!

int main(){
string input;
while(input != "quit"){
getline(cin, input);
if(input == "new game"){
town(player);
}
if(input == "load game"){
cout << "enter save file: " << endl;
load(player);
}
}
return 0;

}

我发现了错误,您忘记在开头包含字符串模块。 只需包含字符串,它就可以正常工作。

#include <iostream>
#include <string>
using namespace std;
int main(){
string input;
while(input != "quit"){
getline(cin, input);
if(input == "new game"){
town(player);
}
if(input == "load game"){
cout << "enter save file: " << endl;
load(player);
}
} 
return 0;
}

最新更新