如何确保数据刷新到文件 IO (WriteFile()) 上的 HDD(未缓冲)
How to make sure data is flushed to HDD (not buffered) on file IO (WriteFile())
在冗长且可能系统压力很大的操作中,我不时通过文件句柄更新文件并WriteFile
我注意到当我右键单击该文件并在 Windows 中询问其属性时,我根本没有看到它已更新。 修改的时间/数据不反映我所做的实际更新。
我意识到 Windows 可能会缓冲内存中的内容,直到文件句柄关闭。 整个想法是更新文件,以便当系统崩溃时,我们至少知道我们得到了哪里(有点)。
如何确保在不关闭文件句柄的情况下刷新内容?
我建议您尝试刷新缓冲区或检查WriteFile
是否返回 TRUE。如果不是,则可能有问题,例如权限被拒绝或其他内容。您可以使用GetLastError来实现这一点。
相关文章:
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 物理键盘上的触发器按键
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 集合上的输出迭代器:assign和increment迭代器
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 对于set上的循环-获取next元素迭代器
- 如何从棋盘上的箱号中找到行和列
- 为什么除非添加括号,否则构造函数上的模板替换会失败?
- if数组上的随机数
- 向量上的线性搜索
- 位阵列上的快速AND运算
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 如何确保数据刷新到文件 IO (WriteFile()) 上的 HDD(未缓冲)
- WriteFile函数如何与磁盘上的另一个数据交互
- 命名管道上的 WriteFile 有时会返回ERROR_NO_DATA