问题:
在Qt中,如何从文本文件中读入一行内容但不包含换行符?
方法一:
QFile
file("box.txt");
QString qstr
= file
.readLine();
qstr
=qstr
.trimmed();
解释: (1)官方帮助文档里写着,QIODevice::readLine(char *data, qint64 maxSize)这个函数读入的一行内容中包含换行符。 (2)官方帮助文档里还写着,trimmed()函数能去除一行文字开头和结尾的空白符例如\t ,\r\n ,\n等,但不会去点这一行中间的空白符。
方法二:
QFile
file("box.txt");
file
.open(QIODevice
::ReadOnly
);
QTextStream
qstr_all_file(&file
);
QString qstr
= qstr_all_file
.readLine();
file
.close();
解释: 官方帮助文档里写的,QString QTextStream::readLine(qint64 maxlen = 0)函数返回的一行内容里不包括换行符。这个函数不同于QIODevice::readLine(char *data, qint64 maxSize),两个函数虽然同名,但一个返回的内容包括换行符,一个不包括换行符。