转自: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();