0

stdio::rename()関数呼び出しが完全に同期している場合、私はさまよっていました。関数呼び出しから戻った直後のファイルは新しい名前で利用できますか?それとも、これが起こるまでにしばらく (数ミリ秒) かかる可能性がありますか? 私はイライラするタイミングのバグを調査しており、後者のケースが発生したのではないかと疑っています。

私のソフトウェアは、Win2k3 サーバー マシンで実行されます。

4

1 に答える 1

3

MSVC ランタイムは、MoveFile()同期的な API を呼び出すだけです。

古い名前で新しいファイルを作成しようとしていて (つまり、一部の編集者が元のファイルの名前を「filename.bak」に変更してファイルを保存し、元のファイル名を使用して新しいファイルを保存する方法)、驚いている場合は、新しいファイルの作成日 (およびその他のメタデータ) が元のファイルと一致している場合、「ファイルシステム トンネリング」に悩まされる可能性があります。

于 2009-02-03T08:29:48.087 に答える