gpt4 book ai didi

c++ - cin 直接到 vector,当没有更多数据时中断循环

转载 作者:太空狗 更新时间:2023-10-29 23:33:02 24 4
gpt4 key购买 nike

以下代码运行输入并将其存储在 vector 中,但会无限期地循环监听输入。目的是从一行输入中获取一串 int,用空格分隔,并将它们存储在一个 vector 中。

int main(int argc, char ** argv){
int input;
vector<int> intVector;
while (cin >> input)
intVector.push_back(input);
//print vector contents
copy(intVector.begin(), intVector.end(), ostream_iterator<char>(cout, " ")); cout << "\n";

return 0;
}

我想以某种方式在 while 循环中添加一个简单的额外条件来检查行尾,这样它就不会无限期地继续监听。 cin.oef 在这里没有用。我已经尝试过这个和其他一些东西。

我可以添加一些干净、简短、优雅的东西来解决这个问题吗?

最佳答案

怎么样

vector<int> intVector( std::istream_iterator<int>( std::cin ), 
std::istream_iterator<int>() );

关于c++ - cin 直接到 vector<int>,当没有更多数据时中断循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24582852/

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