两种书写文本的方式有什么区别QFile吗?
通过使用write方法:
QFile file("test.txt");
if(file.open(QIODevice::WriteOnly | QIODevice::Text)) {
file.write("My Text\n");
}
file.close();
Run Code Online (Sandbox Code Playgroud)
或者通过使用QTextStream:
QFile file("test.txt")
if(file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out << "My Text\n";
}
file.close()
Run Code Online (Sandbox Code Playgroud)
哪种方式是首选?性能上有区别吗?
QIODevice::write是将原始数据写入设备的低级面向字节的接口。QTextStream是用于编写格式化文本的高级接口。可能是在幕后QTextStream实施的。QIODevice::write
主要用例之一QTextStream是写入QString数据。文本流处理从 UTF-16 到区域设置的默认(通常是 8 位)编码(或通过 的任何其他编码)的转换QTextStream::setCodec。
QTextStream几乎可以肯定,它的性能会更差,因为它做得更多。然而,在大多数用例中,差异可以忽略不计。如果您手动构建一大串原始数据,那么您可能应该使用QIODevice::write. 如果您想编写格式化文本(可能包括QString),您可能应该选择QTextStream.
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |