2

データをファイルに読み書きするc++プログラム(turbo c ++ ver 3)があります。プログラムの複数のインスタンスが実行され、特定の実行ポイントで、プログラムの2つのインスタンスが同時に開いてファイルに書き込まれると、一部の情報が失われます。

if(!filein)

この状況には理想的ではありません。同期の問題だと思います

操作を実行する前に、ファイルが開いているかどうかを確認する方法はありますか?

ありがとうございました

4

1 に答える 1

1

ブーストが利用可能な場合、最も簡単で最良の方法は、boost::interprocess::file_lock( docs )を使用してミューテックスをファイル自体に埋め込むことです。

于 2012-12-28T18:51:21.253 に答える