QFile、QSaveFile 和 QTextStream 在文件操作中的对比总结

以下是 Qt 中 QFileQSaveFileQTextStream 在文件操作中的核心函数对比总结,涵盖打开、读取、写入和保存的常用方法:


1. QFile(基础文件操作)

核心函数
操作 函数/代码示例 说明
打开文件 open(QIODevice::ReadOnly) 支持多种模式:ReadOnlyWriteOnlyReadWriteText(自动转换换行符)
读取文件 readAll() / read(qint64 maxSize) 返回 QByteArray,适合二进制或小文件
readLine() 逐行读取(需循环判断 atEnd()
写入文件 write(const QByteArray &data) 直接写入二进制数据
write(const char *data, qint64 len) 写入原始字节
关闭文件 close() 显式关闭或依赖析构函数自动关闭
特点
  • 灵活性高:支持二进制和文本模式。
  • 无原子性保证:写入中途崩溃可能导致文件损坏。

2. QSaveFile(安全写入)

核心函数
操作 函数/代码示例 说明
打开文件 open(QIODevice::WriteOnly) 必须为写入模式,默认启用原子写入
写入文件 write()(同 QFile 数据先写入临时文件
提交保存 commit() 成功时替换原文件,失败则回滚
取消写入 cancelWriting() 放弃写入,删除临时文件
特点
  • 原子性操作:避免写入中断导致文件损坏。
  • 仅限写入:不可用于读取或读写混合场景。

3. QTextStream(文本流处理)

核心函数
操作 函数/代码示例 说明
绑定文件 QTextStream(&file) 需先通过 QFileQSaveFile 打开文件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值