C++ 为什么在C+中跳过cin+;?
我有一个简单的问题,但是 任何人都能让我知道。 下面是简单的代码C++ 为什么在C+中跳过cin+;?,c++,stream,buffer,cin,C++,Stream,Buffer,Cin,我有一个简单的问题,但是 任何人都能让我知道。 下面是简单的代码 #include <iostream> #include <string> using namespace std; int main(){ string ans; while(true){ cin >> ans; cout << "ans : " << ans << endl; } } 为什么它跳过第二个cin?? 它在流缓冲区中是如何工作
#include <iostream>
#include <string>
using namespace std;
int main(){
string ans;
while(true){
cin >> ans;
cout << "ans : " << ans << endl;
}
}
为什么它跳过第二个cin
??
它在流缓冲区中是如何工作的
请回答我的问题谢谢如果您的目标是输出他们输入的所有输入,而不是将每个项目分开,那么您可能需要使用
int main(){
string ans;
while(true){
getline(cin, ans);
cout << "ans : " << ans << endl;
}
}
intmain(){
字符串ans;
while(true){
getline(cin,ans);
您的问题是“我输入多个单词,用空格分隔,所有输入的单词都跳过了cin
?您是否希望它先打印“美国-加拿大-英格兰岛”,然后打印“你好世界”“。你应该澄清你的问题,这有点难读。我必须同意助教的意见,你应该澄清你的问题。可能是重复的
int main(){
string ans;
while(true){
getline(cin, ans);
cout << "ans : " << ans << endl;
}
}