用于windows c ++的Fsync的替代scheme

是否有一个替代fsync的Windows? (C ++构build器)

Fsync需要包含unistd.h,并且只能用于unix系统

谢谢!

fflush函数可以做你所需要的,但是它只适用于文件句柄。

或者, FlushFileBuffers可以为你工作,但它是Windows特定的。

从手册页:

fflush()强制通过流的底层写入函数写入给定输出或更新流的所有用户空间缓冲数据。

提到的写入功能告诉操作系统文件的内容应该是什么。 此时,所有更改都将在实际提交到磁盘之前保留在文件系统缓存中。

POSIX函数fsync()通知操作系统将其高速缓存中的所有更改同步到磁盘。 正如其他人所说,你可以在Windows平台上使用FlushFileBuffers