han7741
han7741
采纳率100%
2015-07-06 12:31 阅读 5.7k

VC/C++怎样让打开着的txt文件 实时刷新 写入的数据信息

2

怎样让打开着的txt文件 实时刷新 写入的数据信息,用c/VC/C++实现

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    oyljerry oyljerry 2015-07-06 13:42

    你用ReadDirectoryChange() API
    获取文件改变事件,然后这个时候重新读取文件内容,然后刷新显示。
    nodepad++类似处理。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-07-06 12:47

    如果你坚持使用文本文件,这个没办法实时,只能是不断打开文件,查询有没有新的数据,然后添加。

    点赞 5 评论 复制链接分享
  • baidu_25226775 cll_jj 2015-07-07 06:44

    使用 fflush() 函数,每写一次就执行一次。我之前都是这么做的

    点赞 1 评论 复制链接分享
  • zuishikonghuan zuishikonghuan 2015-07-06 14:22

    你说的的打开着的是个什么意思呢,如果是被系统记事本打开着,估计不能实现,你应该自己createfile占用它,然后用writefile在文件末尾写入数据

    点赞 评论 复制链接分享
  • 91program 91program 2015-07-06 23:42

    如果是共享的读/写,如 UltraEdit 一样,则再次打开是没有问题的。
    但如果是被独占,则无法再次打开,后续的读/写就不可能实现的。

    如果没有被其它应用打开,只有自己的应用打开,实在的读/写肯定是没有问题的。但还是不建议频繁的打开/关闭文件,此处需要注意实现的技巧。

    点赞 评论 复制链接分享
  • u011547347 fourth_leaf 2015-07-07 05:26

    在C中,当使用标准库stdio.h时需要刷新缓存区,在Windows上flush()可以将缓存立即写到文件中,但是这个在linux上不行
    使用系统调用读写文件时不存在缓冲,数据是即时写入文件的

    点赞 评论 复制链接分享

相关推荐