データをファイルに読み書きするc++プログラム(turbo c ++ ver 3)があります。プログラムの複数のインスタンスが実行され、特定の実行ポイントで、プログラムの2つのインスタンスが同時に開いてファイルに書き込まれると、一部の情報が失われます。
if(!filein)
この状況には理想的ではありません。同期の問題だと思います
操作を実行する前に、ファイルが開いているかどうかを確認する方法はありますか?
ありがとうございました
ブーストが利用可能な場合、最も簡単で最良の方法は、boost::interprocess::file_lock
( docs )を使用してミューテックスをファイル自体に埋め込むことです。