• 6132阅读
  • 3回复

QTextstream指定写入第n行? [复制链接]

上一主题 下一主题
离线不要多話
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-08


请问我已经用QTextstream实现写入文本的功能,不过如果我要指定写入第n行要怎么做?
目前只会笨笨的用endl,QTextstream有什么函数可以用的吗? 谢谢
离线dbzhang800

只看该作者 1楼 发表于: 2009-12-08
读进文件,找到第n行,用你的数据替换,写入文件
离线不要多話
只看该作者 2楼 发表于: 2009-12-08
楼上你的意思是,全部读出来,怎么找? 怎么换?,改完之后在全部写回去吗??
[ 此帖被不要多話在2009-12-08 15:38重新编辑 ]
离线不要多話
只看该作者 3楼 发表于: 2009-12-08
      
已解决,因为档案不大,所以全部读进来,透过contains来找出123.txt里面,包含"USER="的字串,当符合条件的时候,把原本的文本内容"USER=xxxxx"使用replace加上QRegExp替换成从lineedit输入的字串!

       QFile file("123.txt");
        if(!file.open(QIODevice::ReadOnly)){
     qDebug()   << "Cannot open file for Reading";
        return ;
    }
    QString str (file.readAll());
    if(str.contains("USER=", Qt::CaseInsensitive)){
       str.replace(QRegExp("USER=.*"),QString("USER=")+UserName_Edit->text());
    }
        file.close();
    QFile::remove("123.txt");
    if(!file.open(QIODevice::WriteOnly)){
     qDebug()   << "Cannot open file for Writing";
        return ;
    }
    file.write(str.toUtf8());
    file.close();
快速回复
限100 字节
 
上一个 下一个