我想写一个文件然后我做了,但它总是写到最后一行。有没有办法让它写入第一行?例如,给定一个包含
的文件apple
orange
我要添加“香蕉”;我希望文件成为:
banana
apple
orange
我目前的代码是:
void Write (QString file)
{
QFile sfile(file);
if(!sfile.open(QFile::Append |QFile::Text))
{
return;
}
QTextStream out(&sfile);
out <<" "<<xscore<<" "<<oscore<<endl;
sfile.close();
}
如何更改此项以在文件开头插入文本?
答案 0 :(得分:2)
append
文件将始终添加at the end
。
如果你想插入第一行,你可以阅读当前文件内容(buffer
),打开它进行写作并写下你的new content
,然后是buffer
/编辑:
一个小例子看起来像这样......
QFile sfile(file);
sfile.open(QFile::ReadOnly | QFile::Text);
QByteArray buffer = sfile.readAll();
sfile.close();
sfile.open(QFile::WriteOnly | QFile::Text);
QTextStream out(&sfile);
out <<" "<<xscore<<" "<<oscore<<endl;
out << buffer;