Qt 文件写入特定行

转载自:http://jesserei.blog.163.com/blog/static/121411689201011164433886/


QTextstream指定写入第n行?

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

读进文件,找到第n行,用你的数据替换,写入文件。

已解决,因为档案不大,所以全部读进来,透过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();
展开阅读全文

没有更多推荐了,返回首页