Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么在C+中跳过cin+;?_C++_Stream_Buffer_Cin - Fatal编程技术网

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;
  }
}