我有一个名为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;
}