这是我的代码
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 ...
答案 0 :(得分:1)
它的输出卡住了。除非count
的输出被某些东西读取并被消耗,否则最终输出缓冲区将变满并且cout
行将被阻塞。