我在使用clang的macOS上使用ifstream
玩一点。
我正在尝试使用read
方法读取整个文件:
ifstream is(filename);
is.exceptions(ifstream::failbit | ifstream::badbit);
// This set up a buffer with a size of 2048 bytes.
void *buff = XML_GetBuffer(parser, 2048);
do {
is.read(reinterpret_cast<char*>(buff), 2048);
auto charBuff = reinterpret_cast<char*>(buff);
std::cout << charBuff << std::endl;
} while (!is.eof());
is.close();
通过处理长文件,抛出异常:
ios_base::clear: unspecified iostream_category error
我试图通过strerror(errno)
获取更多信息,但我只得到:
Err:Undefined error: 0
这段代码有什么问题? 我怎样才能获得有关失败原因的更多信息?