我遇到这个代码的问题:
string answer;
cin >> answer;
while(answer != "S" && answer != "N" && answer != "s" && answer != "n")
{
cout << "\n[!] Phrase [!] \n" << endl;
cin >> answer;
}
基本上,每当我输入的不仅仅是一个单词时,它打印的不仅仅是一个字符串。
就像,如果我输入“Hi”,它只打印出一个“[!] Phrase [!]”字符串。但是如果我输入类似“Hi bye”的内容,它会输出两个“[!] Phrase [!]”字符串。
对此有任何修复?
谢谢
>>
运算符在遇到空格时停止,并在下一次读取时离开其余行。使用std::getline()
阅读整行:
std::getline(std::cin, answer);