を使用すると、次の文字列がファイルに新しい行になりたい場合は、追加する必要があります新しい行の文字をストリーム\n
に渡します。あなたのコードを参照する あなたが置く必要があります。
str
と
str2
の内容は連続した行に表示されてしまい
out << str << '\n' << str2;
を。代わりに上記の
もQTextStream
からendl
マニピュレータを使用することができます。このため
out << str << endl << str2;
を正しく動作させるにあなたが
QIODevice::Text
でファイルを開き、
endl
あなたが指定されているが、実際にから来ていることを保証する必要があります
QTextStream
(
std
ではない) ファイルを書きたいだけなので、
ReadWrite
オプションで開く必要はありません。
WriteOnly
で十分です。さらに詳細に応じ
EDIT:
では、次の操作を行うことができ、ファイルの各行から最初の単語を置換します。 2つのファイルを開きます.1つは読み込まれ、もう1つは変更されたデータを書き込みます。すべての行がファイルを閉じるけれども、元のファイルを取り除き、出力ファイルの名前を変更して元のファイルを置き換えます。サンプル実装:もちろん
QFile fileIn("textIn.txt"), fileOut("textOut.txt");
fileIn.open(QFile::ReadOnly); // check result
fileOut.open(QFile::WriteOnly); // check result
QTextStream streamIn(&fileIn), streamOut(&fileOut);
const QChar delimeter = ' ';
while (!streamIn.atEnd())
{
QStringList list = streamIn.readLine().split(delimeter);
if (list.size() > 0) // in case of empty line
list[0] = "substitutedText"; // here put the text you want to set
streamOut << list.join(delimeter) << "\r\n"; // or endl
}
fileIn.close();
fileOut.close();
fileIn.remove(); // check result
fileOut.rename(QFileInfo(fileIn).absoluteFilePath()); // check result
あなたは、元のファイルReadWrite
修飾子で開かれ、seek
を使用して、ストリーム内の適切な位置を設定することで、交換をやってみてください。それは、読み書きされたデータの長さが異なるため、扱いにくくなる可能性があります。
コードをスクリーンショットの代わりにコードとして記述してください。 –
私は手伝っていますが、ファイアウォールがサイトへのアクセスをブロックしています。 **あなたのプログラムの**テキスト**で投稿を**編集してください。 –
'QIODevice :: Append'を使ってファイルを開き、' '\ n''の後ろにデータを追加します –