• 8062阅读
  • 5回复

如何用QFile类读取到的数据追加到.txt文档中? [复制链接]

上一主题 下一主题
离线ny13524
 
只看楼主 倒序阅读 楼主  发表于: 2008-08-12
— 本帖被 XChinux 执行加亮操作(2008-08-12) —
我用QFile 可以将读取到的数据写入txt文档中,但每次都是覆盖上次写入的数据
我想实现添加而不是覆盖.并且写入一次设置一个分割符,当读取时可以倒着按分割符标志读取.
望高手指点一二
离线lugaideath

只看该作者 1楼 发表于: 2008-08-12
你可以这样啊:
     QTextStream out(&filename);
    QApplication::setOverrideCursor(Qt::WaitCursor);
    out << out.readall() << "分割符" << "新添加的数据";
    QApplication::restoreOverrideCursor();


或者你看下QIODevice!暂时很少接触到QT的IO!
离线ny13524
只看该作者 2楼 发表于: 2008-08-12
按照楼上的方法试了下,不能达到预期效果
每次程序关闭再启动txt文档就又是一个新的,读的是启动后的数据,上次的数据都丢失啦
readAll()这个函数好像不能读取"\n",txt中的数据不会自动分行啦.
呵呵,还是要谢谢楼上的方法
我自己再看下哈
离线water_wf

只看该作者 3楼 发表于: 2008-08-12
在于打开文件的方式,跟qt没关系,看看普通fopen怎么作的?
离线ny13524
只看该作者 4楼 发表于: 2008-08-13
呵呵,多谢water_wf 的提示,确实是打开模式没设置好
又仔细看了下QFile::Append可以将数据追加到文档中
The device is opened in append mode, so that all data is written to the end of the file.

剩下要解决的就是怎样从文档中倒着以分割符标志读取数据啦,
想用seek,可每次执行一次程序都添加新的数据,不好定位,
主要是数据流大多数按顺序读的,怎样能倒回来读取,望能给些提示?
离线elainejin
只看该作者 5楼 发表于: 2010-04-14
引用第4楼ny13524于2008-08-13 09:21发表的  :
呵呵,多谢water_wf 的提示,确实是打开模式没设置好
又仔细看了下QFile::Append可以将数据追加到文档中
The device is opened in append mode, so that all data is written to the end of the file.
剩下要解决的就是怎样从文档中倒着以分割符标志读取数据啦,
.......


能否把相关代码贴上来。。。正好也遇到了这个问题。。。谢谢了~
快速回复
限100 字节
 
上一个 下一个