如何在写入文本文件时向行添加拆分

时间:2013-06-12 18:26:28

标签: c++ qt

我想在文本文件中添加换行符,但没有任何反应。

这是我的代码:

void controleformules::on_pushButton_4_clicked(
{
 QString str= ui->textEdit_2->toPlainText();

 QString filename= str+".txt";

 QFile file( filename );

 if ( file.open(QIODevice::ReadWrite) )
 {

    QTextStream stream( &file );

      stream
              << "U heeft nu deze 2 formules gekozen: Formule 1: " << x1Int << " + " << y1Int << " = " << r1Int << ". Formule 2: "<< x2Int << " + " << y2Int << " = " << r2Int << "." << '\n'
              <<"eerst moet je in beide formules de x of de y elimeneren, wij doen de y eerst";
   }
}

我尝试了"\n"'\n'

我希望有人可以帮助我,

提前感谢Tim Smits

1 个答案:

答案 0 :(得分:1)

您的基础QIODevice(文件)实际上并不在文本模式下工作。打开与流

一起使用的文件时,请使用QIODevice::Text
QFile file( filename , QIODevice::Text );
...
QTextStream stream( &file);

对于文本流,"\n"'\n'都应该有效。您可以选择std::endl(或更确切地说,Qt中的对应物),但这不是必需的。假设您的输出流确实是 text 流,并假设您在同一平台上使用生成文件,"\n"'\n'将产生正确的结果,无论操作系统如何检查它。 (断言"\r\n" 必须在Windows上使用的评论不正确。)

当您尝试在POSIX系统上生成Windows文本文件时,确实需要使用"\r\n"的情况示例。