0

fopen_s を使用して参照を開いたファイルがあります

ここで、ファイルから特定の行を削除したいと考えています。

ほとんどの推奨事項は、必要な行を一時ファイルにコピーし、元のファイルを削除してから、その行を新しく作成したファイルに書き戻すことです。

ただし、最大 20 の他のシステムが同時にこのファイルにアクセスしようとする可能性があるという追加の問題があります。データを追加/削除する前に、ファイルが使用可能になるまで待機するようにコーディングされています。

元のファイルを (削除するために) 閉じるとすぐに、他のシステムの 1 つが侵入してそのファイルを編集し、元のシステムにロックアウトしてしまうのではないかと心配しています。

この特定のシナリオで使用できる方法を誰かが提案できますか?

ありがとう

4

1 に答える 1

1

最初にファイルの名前を変更し (おそらく名前にプロセス/スレッド ID を使用)、同じフォルダーに一時ファイルを作成し、名前を変更したファイルを削除して、一時ファイルの名前を元の名前に戻します。

于 2013-06-03T09:49:40.280 に答える