2016-05-04 1 views
0

ファイルに書きたいと思いましたが、最後の行に書き込んでいます。最初の行に書き込む方法はありますか?たとえば、ファイルがQt:ファイルにテキストを前に付加する

apple 
orange 

の場合、「banana」を追加します。私は、ファイルがなりたい:

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(); 
} 

がどのように私は、ファイルの先頭にテキストを挿入するために、これを変更する必要がありますか?

答えて

2

appendは、常にat the endを追加します。

あなたが最初の行を挿入したい場合、あなたは、現在のファイルの内容(buffer)を読み取る書き込みのためにそれを開いて、書き込むことができますnew contentbuffer

/編集が続く:

小さな例このように見えます...

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; 
関連する問題