Qt向文本文件输出换行

使用QTextStream向txt文件输出换行时,需要使用QIODevice::Text标志。

官方文档对QIODevice::Text的解释:

When reading, the end-of-line terminators are translated to '\n'. When writing, the end-of-line terminators are translated to the local encoding, for example '\r\n' for Win32.

简而言之,该标志指示在读写过程中要对end-of-line进行转换。


例子

(1)不使用QIODevice::Text

#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile file("C:/Users/Administrator/Desktop/1.txt");
    if (file.open(QIODevice::WriteOnly))
    {
        QTextStream out(&file);
        out << endl << '*';
    }
    return a.exec();
}


输出:

Qt向文本文件输出换行_第1张图片

可见输出换行达不到效果。


(2)不使用QIODevice::Text

#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile file("C:/Users/Administrator/Desktop/1.txt");
    if (file.open(QIODevice::Text | QIODevice::WriteOnly))
    {
        QTextStream out(&file);
        out << endl << '*';
    }
    return a.exec();
}


效果:

Qt向文本文件输出换行_第2张图片





你可能感兴趣的:(Qt)