C ++ std :: cin停留在80行输入

时间:2015-09-25 06:59:28

标签: c++

这是我的代码

int main() 
{
  int total = 0;
  int count = 0;
  std::cin >> total;


  int arr[4] = {0,0,0,0}; 

  while(count < total) 
  { 

    std::cin>>arr[0]>>arr[1]>>arr[2]>>arr[3];

    count++;
    std::cout<<count<<std::endl;

  }

 return 0;

 }  

所以第一行输入告诉我需要读取多少行...并且每行有4个用空格分隔的数字。每当行数超过80(例如100)时,while循环就会卡住。我不知道是什么导致了这个问题,我尝试过像cin.clear()这样的东西,但是他们只是没有工作......

编辑: std :: cin在80行输入后停止阅读,格式为10 20 210 10

使用LLVM的Xcode无效......但是使用终端的g ++工作.... http://melpon.org/wandbox/permlink/UXAMgM4ldn2K2NgU 这里的代码在我的终端上使用g ++而不是我的xcode ...

1 个答案:

答案 0 :(得分:1)

它的输出卡住了。除非count的输出被某些东西读取并被消耗,否则最终输出缓冲区将变满并且cout行将被阻塞。