我正在使用 while 循环将整数数据存储在这样的向量中:
vector<int> a;
int data=1;
cout<<"Enter data (Press Ctrl+Z to end)";
while(data)
{
cin>>data;
if(data)
a.push_back(data);
}
这个循环变得无限我在tacing之后发现的原因是当我进入Ctrl+Z (eof)
读取它时data
它不采用那个值并且因为最后一个值仍然存在于data
循环中再次运行
Enter data (Press Ctrl+Z to end)23 //data=23
56 //data=56
45 //data=45
^Z // still data=45
我不想使用具有特定数字的条件来结束循环,就像Enter -1 to end
用户提前指定要存储在向量中的项目数一样。有没有其他方法可以通过使用Ctrl+Z
或任何其他字符串来结束循环done, finish etc..