gpt4 book ai didi

c++ - !std::basic_ios::fail() 和 std::basic_ios::good() 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 20:11:43 25 4
gpt4 key购买 nike

while(true)
{

int a, c;
string b;

file >> a >> b >> c;
if( file.good() )
f(a, b, c);`
else
break;
}

此代码未读取 .txt 文件的最后一行。如果我将 file.good() 更改为 !file.fail() 它会起作用。为什么?

最佳答案

bad() --> 如果读取或写入操作失败,则返回 true。例如,在我们尝试写入未打开写入的文件或我们尝试写入的设备没有剩余空间的情况下。

fail() --> 在与 bad() 相同的情况下返回 true,但在发生格式错误的情况下也会返回 true,例如当我们尝试读取整数时提取了字母字符。

good() --> 它是最通用的状态标志:它返回 false 的情况与调用之前的任何函数返回 true 的情况相同。请注意,好的和坏的并不完全相反(好的一次检查更多状态标志)。

后面会详细说明。

关于c++ - !std::basic_ios::fail() 和 std::basic_ios::good() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686167/

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