使用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 <QCoreApplication> #include <QFile> #include <QTextStream> 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(); }
输出:
可见输出换行达不到效果。
(2)不使用QIODevice :: Text
#include <QCoreApplication> #include <QFile> #include <QTextStream> 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(); }
效果:
转自:http://blog.youkuaiyun.com/u012689588/article/details/19431353