gpt4 book ai didi

c++ - eof() 不好的做法?

转载 作者:IT老高 更新时间:2023-10-28 12:55:55 25 4
gpt4 key购买 nike

Possible Duplicate:
Why is iostream::eof inside a loop condition considered wrong?

所以我一直在我的很多需要文件输入的程序中使用 eof() 函数,我的教授说它很好用但是SO上的一些人说我不应该在没有真正说明原因的情况下使用它。所以我想知道,有什么好的理由吗?

最佳答案

您可以使用 eof 来测试它报告的确切情况 - 您是否尝试过读取文件末尾。你不能用它来测试是否有更多的输入要读取,或者读取是否成功,这是更常见的测试。

错误:

while (!cin.eof()) {
cin >> foo;
}

正确:

if (!(cin >> foo)) {
if (cin.eof()) {
cout << "read failed due to EOF\n";
} else {
cout << "read failed due to something other than EOF\n";
}
}

关于c++ - eof() 不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837639/

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