我正在使用gzstream编写 C++ 程序的输出。但是,有时生成的文件似乎写得很糟糕:zcat: output.txt.gz: unexpected end of file
,即使我自己的程序没有返回错误。
因此,我想在写入文件时捕获错误,即不必等到程序完成执行 zcat 并查看上面的错误。
这是我的代码的相关部分:
ogzstream outStream;
outStream.open ("output.txt.gz");
if (! outStream.is_open()) { cerr << "error while opening" << endl; exit (1); }
for (size_t i = 0; i < vecResults.size(); ++i)
outStream << i << " " << vecResults[i] << endl;
outStream.close();
有什么可以改进的?写完后我应该检查任何错误位<<
吗?还是关门后?如果是,我该怎么做?
(仅供参考,很难复制该错误,因为它很少发生,但频率足以令人讨厌。)