私は、特定の設定に応じていくつかのファイルを書き込むアプリケーションを持っています。ときには通常のstd:ostreamを使用することもあれば、opencvで書き込むこともあれば、boostで書くこともあります。C++でのファイル書き込みエラーを検出する一般的な方法はありますか?
std:ostream rdstate()関数の場合。 私の意見では、(osのような)一般的な方法を使うことができれば、各メカニズムでうまくいくというのが最善の解決策です。 ありますか?
もしそうでなければ、rdstate()と同様のチェックについてのドキュメントを私に指摘できますか? おかげ
更新:
を、私は、これらの機能を持つファイルを書き込む:
OpenCVの:cv::VideoWriter << image
ブースト:boost::iostreams::file_sink->write
私はbosst場合のために書かれたデータをチェックする方法を発見しました。 write
関数は、書き込まれたバイト数を返します。これを予想バイト数と比較することができます。 openCVの場合、私はGetFileAttributesEx
を使用してファイルサイズを決定し、それが増加するかどうかを確認します。 これは良い方法ですか?
すべてのオペレーティングシステムで動作する方法をお探しですか? – Ian
いいえ、私はただの窓が必要です – Valerie
エラーをチェックする一般的な方法は、GetLastError()を呼び出すことです。 – Ian