gpt4 book ai didi

c++ - istream_iterator 初始化 vector

转载 作者:行者123 更新时间:2023-11-28 07:55:56 26 4
gpt4 key购买 nike

我正在尝试从 ifstream fin 中读取并使用 istream_iterators 将其放入 vector vec1 中。我到处都看到了这些东西:

vector<int> vec1((istream_iterator<int>(fin)),istream_iterator<int>);

我想保留 istream_iterators 供以后使用,所以我想“这应该可以”:

istream_iterator<int> iit(fin);
istream_iterator<int> eos;
vector<int> vec1(iit,eos);

... 它不起作用 =( 我的 vector 完全是空的。(我从中读取的文件是一个 txt 文件,只有数字)。

编辑: txt 如下所示:

06351784798452318596415234561
6641321856006

最佳答案

根据评论,第一个数字序列大于 int 的最大值,因此输入操作将失败,导致 vector 保持为空。

您可以使用 std::numeric_limits 获取 int 等的最大值模板:

std::cout << std::numeric_limits<int>::max() << "\n";

关于c++ - istream_iterator 初始化 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729648/

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