你是否正在寻找关于flushfilebuffers的内容?让我把最全的东西奉献给你:
当前位置:我的异常网» C++ Builder»flushfilebuffers是否一定需要执行?解决思路
flushfilebuffers是否一定需要执行?解决思路
网友分享于:2013-03-03浏览:150次
flushfilebuffers是否一定需要执行? - C++ Builder / Windows SDK/API
我现在有个程序频繁的往dbf文件写记录(WriteFile),写完一条记录之后,是否一定需要执行flushfilebuffers?
同步会有另为一个程序不断的读取这个文件。那么如果我不执行flushfilebuffers,会否对读取记录造成影响?
比如读取到了半条记录之类的。
由于FlushFileBuffers的速度很慢,导致整个写dbf的速度很慢,所以想考虑吧flushfilebuffers去掉。
谢谢大家。
------解决方案--------------------
API:WriteFile的第4个参数,返回写到文件中的字节数。判断这个字节数和要写入的缓冲长度是否相等再结合WriteFile函数的返回值,如果成功的写到了文件中,可以不用每次调用flushfilebuffers。
------解决方案--------------------
会不会不是FlushFileBuffers的速度慢,而只是文件写硬盘的速度慢?看帮助flushfilebuffers貌似只是强制写盘的。
------解决方案--------------------
不用每次都用flushfilebuffers,它占用系统资源。
------解决方案--------------------
不执行flushfilebuffers,不会对读取记录造成影响。
写文件有缓冲机制,这样可以提高读写速度,如果写完就Flush,相当于缓冲机制被取消了,当然变慢了,。我想原程序这样写的目的应该是防止意外关机(如断电)造成的错误。
以上就是关于flushfilebuffers的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shenmilingyu/article-13482-1.html
海不会不蓝