首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用QFile编写文本

用QFile编写文本
EN

Stack Overflow用户
提问于 2018-10-29 08:25:32
回答 1查看 6.9K关注 0票数 5

QFile中,两种书写文本的方式有什么不同吗?

通过使用write方法:

代码语言:javascript
复制
QFile file("test.txt");
if(file.open(QIODevice::WriteOnly | QIODevice::Text)) {
    file.write("My Text\n");
}
file.close();

或者使用QTextStream

代码语言:javascript
复制
QFile file("test.txt")
if(file.open(QIODevice::WriteOnly | QIODevice::Text)) {
     QTextStream out(&file);
     out << "My Text\n";
}
file.close()

哪种方式更好?表现上有什么不同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-30 04:46:56

QIODevice::write是面向字节的低级接口,用于将原始数据写入设备.QTextStream是一个用于编写格式化文本的高级接口.QTextStream可能是以QIODevice::write为基础实现的。

QTextStream的主要用例之一是编写QString数据。文本流处理从UTF-16到区域设置的默认编码(通常是8位)的转换(或通过QTextStream::setCodec进行的任何其他编码)。

QTextStream几乎肯定表现更差,因为它做得更多。然而,在大多数用例中,这种差异是可以忽略不计的。如果您正在手工构建大量原始数据,那么您可能应该使用QIODevice::write。如果您想要编写格式化文本(可能包括QString),您可能应该选择QTextStream

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53041431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档