gpt4 book ai didi

c++ - 检查是否已从 std::istream 成功读取所有值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:08:40 27 4
gpt4 key购买 nike

假设我有一个文件

100 text

如果我尝试使用 ifstream 读取 2 个数字,它将失败,因为 text 不是数字。使用 fscanf 我会通过检查它的返回码知道它失败了:

if (2 != fscanf(f, "%d %d", &a, &b))
printf("failed");

但是当使用 iostream 而不是 stdio 时,我怎么知道它失败了?

最佳答案

它实际上(如果不是更)简单:

ifstream ifs(filename);
int a, b;
if (!(ifs >> a >> b))
cerr << "failed";

顺便说一句,习惯这种格式。因为它非常方便(对于通过循环继续积极进展来说更是如此)。

关于c++ - 检查是否已从 std::istream 成功读取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14394724/

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