问题描述
- VC/C++怎样让打开着的txt文件 实时刷新 写入的数据信息
-
怎样让打开着的txt文件 实时刷新 写入的数据信息,用c/VC/C++实现
解决方案
你用ReadDirectoryChange() API
获取文件改变事件,然后这个时候重新读取文件内容,然后刷新显示。
nodepad++类似处理。
解决方案二:
如果你坚持使用文本文件,这个没办法实时,只能是不断打开文件,查询有没有新的数据,然后添加。
解决方案三:
你说的的打开着的是个什么意思呢,如果是被系统记事本打开着,估计不能实现,你应该自己createfile占用它,然后用writefile在文件末尾写入数据
解决方案四:
如果是共享的读/写,如 UltraEdit 一样,则再次打开是没有问题的。
但如果是被独占,则无法再次打开,后续的读/写就不可能实现的。
如果没有被其它应用打开,只有自己的应用打开,实在的读/写肯定是没有问题的。但还是不建议频繁的打开/关闭文件,此处需要注意实现的技巧。
解决方案五:
在C中,当使用标准库stdio.h时需要刷新缓存区,在Windows上flush()可以将缓存立即写到文件中,但是这个在linux上不行
使用系统调用读写文件时不存在缓冲,数据是即时写入文件的
解决方案六:
使用 fflush() 函数,每写一次就执行一次。我之前都是这么做的
时间: 2025-01-20 17:07:06