假设我有一个代码来计算文件的大小:
std::ifstream ifs(path, std::ifstream::ate | std::ifstream::binary);
unsigned int size = ifs.tellg();
ifs.close();
在C ++中,大多数时候,调用ifs.good()
的位置/时间?
就我而言,创建流后还是调用tellg()
之后会更好?
然后,如果good()
返回false
,我应该显式关闭流吗?
从您无需显式关闭流的角度出发],good()
是以下功能:
检查流的状态是否良好
如果没有流的错误状态标志(eofbit,failbit和badbit)。
您可以调用它来验证是否出现问题,然后验证其他位以检查出什么问题。例如:
输入操作结束时到达文件末尾(eofbit)
I / O操作上的逻辑错误(失败)
I / O操作上的读/写错误(坏位)
但是,在流的手动关闭上调用好思考没有用。