有没有 fsync for windows 的替代品?(C++ 构建器)
fsync 需要包含 unistd.h 并且仅适用于 unix 系统
谢谢!
从手册页:
fflush()通过流的底层写入函数强制写入给定输出或更新流的所有用户空间缓冲数据。
提到的写函数告诉操作系统文件的内容应该是什么。此时,所有更改将在实际提交到磁盘之前保存在文件系统缓存中。
POSIX 函数fsync()
告诉操作系统将所有更改从其缓存同步到磁盘。正如其他人所说,您可以FlushFileBuffers
在Windows平台上使用。
_commit
看起来不错,它需要一个文件描述符,就像fsync
这样:
_commit 函数强制操作系统将与 fd 关联的文件写入磁盘。此调用确保立即刷新指定的文件,而不是由操作系统决定。
该fflush
函数可以做你需要的,但它只适用于文件句柄。
或者,FlushFileBuffers
可能对您有用,但它是特定于 Windows 的。