gpt4 book ai didi

c++ - 如何在循环运行时停止以将数据存储在 vector 中

转载 作者:行者123 更新时间:2023-11-27 23:11:43 25 4
gpt4 key购买 nike

我正在使用 while 循环将整数数据存储在这样的 vector 中:

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 和用户提前指定要存储在 vector 中的项目数。有没有其他方法可以使用 Ctrl+Z 或任何其他字符串(如 done、finish 等)结束循环。

最佳答案

while(cin >> data){
a.push_back(data);
}

请注意,EOF 通常使用 Ctrl+D 设置,而不是 Ctrl+Z(这会让您的程序休眠)。

关于c++ - 如何在循环运行时停止以将数据存储在 vector 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com