私は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();
何を改善できますか?で書き込んだ後、エラービットをチェックする必要があり<<
ますか?または閉じた後?はいの場合、どうすればそれを行うことができますか?
(参考までに、エラーが発生するのはまれですが、煩わしいほど頻繁に発生するため、エラーを再現するのは非常に困難です。)