有没有fsync for windows的替代方案?(C++生成器)
Fsync需要包含unistd.h,并且它仅适用于unix系统
谢谢!
发布于 2017-11-15 22:08:24
从手册页:
fflush()通过流的底层写入函数强制写入给定输出或更新流的所有用户空间缓冲数据。
上面提到的write函数告诉操作系统文件的内容应该是什么。此时,在实际提交到磁盘之前,所有更改都将保存在文件系统缓存中。
POSIX函数fsync()
告诉操作系统将其缓存中的所有更改同步到磁盘。正如其他人所说,你可以在Windows平台上使用FlushFileBuffers
。
发布于 2015-10-15 02:51:06
fflush
函数可能会执行您需要的操作,但它只适用于文件句柄。
或者,FlushFileBuffers
可能适用于您,但它是特定于Windows的。
发布于 2021-07-10 10:01:32
_commit
看起来是对的,它像fsync
一样接受文件描述符:
_commit函数强制操作系统将与fd关联的文件写入磁盘。此调用确保立即刷新指定的文件,而不是由操作系统自行决定。
https://stackoverflow.com/questions/33133222
复制相似问题