Windows用のfsyncに代わるものはありますか? (C++ ビルダー)
unistd.h をインクルードするには Fsync が必要で、これは UNIX システム専用です。
ありがとう!
マンページから:
fflush()は、ストリームの基になる書き込み関数を介して、指定された出力または更新ストリームのすべてのユーザー空間のバッファリングされたデータの書き込みを強制します。
前述の書き込み関数は、ファイルの内容がどうあるべきかをオペレーティング システムに伝えます。この時点で、実際にディスクにコミットされる前に、すべての変更がファイルシステムのキャッシュに保持されます。
POSIX 関数fsync()
は、すべての変更をキャッシュからディスクに同期するようオペレーティング システムに指示します。他の人が言ったようFlushFileBuffers
に、Windows プラットフォームで使用できます。
このfflush
関数は必要なことを行うかもしれませんが、ファイル ハンドルにのみ適用されます。
あるいは、FlushFileBuffers
あなたのために働くかもしれませんが、それは Windows 固有です。