8

Windows用のfsyncに代わるものはありますか? (C++ ビルダー)

unistd.h をインクルードするには Fsync が必要で、これは UNIX システム専用です。

ありがとう!

4

3 に答える 3

3

マンページから:

fflush()は、ストリームの基になる書き込み関数を介して、指定された出力または更新ストリームのすべてのユーザー空間のバッファリングされたデータの書き込みを強制します。

前述の書き込み関数は、ファイルの内容がどうあるべきかをオペレーティング システムに伝えます。この時点で、実際にディスクにコミットされる前に、すべての変更がファイルシステムのキャッシュに保持されます。

POSIX 関数fsync()は、すべての変更をキャッシュからディスクに同期するようオペレーティング システムに指示します。他の人が言ったようFlushFileBuffersに、Windows プラットフォームで使用できます。

于 2017-11-15T14:08:24.290 に答える
1

このfflush関数は必要なことを行うかもしれませんが、ファイル ハンドルにのみ適用されます。

あるいは、FlushFileBuffersあなたのために働くかもしれませんが、それは Windows 固有です。

于 2015-10-14T18:51:06.230 に答える