那么,如果good()return false,我应该显式关闭流吗?Zig*_*zor 1 从您永远不需要显式关闭流开始,good()是一个函数: 检查流状态是否良好 如果没有设置流的错误状态标志(eofbit、failbit 和 badbit),则返回 true。 您可以调用它来验证某些事情是否进展顺利,然后验证其他位以检查问题所在。例如 : 输入操作到达...
每个IO 对象都维护一组条件状态 flags (eofbit, failbit and badbit),用来指出此对象上是否可以进行 IO...
std::ifstream in(ip_filter_file.c_str()); ip_filter filter; while (in.good()) //good()解释如下 { char line[300]; in.getline(line, 300); int len = in.gcount(); if (len <= 0) continue; if (line[0] == '#') continue; ...
}charBuffer[256];memset(Buffer,'\0',256);//read apparatus IDin_File.read(Buffer, SubLength); BytesRead += SubLength;if(!in_File.good()) {std::cout<<"Error while reading subrecord NAME of APPA!\n";returnfalse; } recordID =std::string(Buffer); Model.clear(); ItemName.clear();b...
3回答 成功打开但不是很好? 、、 在C++中,是否存在std::ifstream open()可以成功,但std::ifstream good()可以为false的情况?编辑:使用g++ 4.7.1测试#include <fstream>{ <e 浏览3提问于2012-09-28得票数 7 回答已采纳 点击加载更多 扫码 添加站长 进交流群 领取专属 10元无门槛券 手把手带您无忧上云相...
编辑 感谢Neil 指出 f.good() 不是我想要的。 !f.fail() 是我想要的。 我可以自己手动删除它(请参阅此问题的编辑),这对于 Windows 文本文件很容易。但我担心有人会输入一个只包含’\r’的文件。在那种情况下,我认为 getline 会消耗整个文件,认为它是一行! ..这甚至没有考虑Unicode :-) ..也许Boost有...
#include <assert.h> using namespace std;; int main(int argc, char **argv) { std::string filename("D:/My projects/Test/test.cfg"); std::cout << "opening '" << filename << "'..." << std::endl; std::ifstream infile(filename.c_str()); assert(infile.good()...
(IE。 istream::good() 和istream::operator bool)由于没有办法无法解决所有的方式,因此假设很多 istream螺纹安全特性。智能推荐解决c++ ifstream in对象读取文件总多读一次问题 先上源码 读取文件字符串时候总是会多读一次 查阅了资料后: https://www.cnblogs.com/youxin/p/3793814.html 发现问题出在,fin对象...
18,ios::good 19,ios::operator! 20,ios::operator bool 21,ios::rdstate 输入流的继承关系: ios_base <- ios <- istream <- ifstream C++ 使用标准库类来处理面向流的输入和输出: iostream 处理控制台 IO fstream 处理命名文件 IO stringstream 完成内存 string 的IO ...
good 检查是否没有发生错误,例如是否可执行I/O操作 (std::basic_ios<CharT,Traits> 的公开成员函数) eof 检查是否到达了文件末尾 (std::basic_ios<CharT,Traits> 的公开成员函数) fail 检查是否发生了可恢复的错误 (std::basic_ios<CharT,Traits> 的公开成员函数) bad 检查是否已发生不可恢复的错误...