(二十)文本流与数据流

本文介绍了Qt中QFile、QTextStream和QDataStream在处理文本文件和数据文件时的不同角色。QTextStream主要用于读写可读文本,处理Unicode编码和换行符问题,而QDataStream则用于将数据转换为二进制。文章还提到了QTextStream的读写方式,包括以字符串、单词或字符形式,并强调了指定编码和格式化输出的重要性。对于QDataStream,强调了版本号设置在读写文件时的必要性。
摘要由CSDN通过智能技术生成

Qt中将文件类型分为2大类:

1、文本文件:文件的内容是可读的文本字符

2、数据文件:文件内容是直接的二进制数据

 

QFile类直接支持文本文件和数据文件的读写(通过继承自QIODevice的成员函数)

qint64

read ( char * data, qint64 maxSize )

QByteArray

read ( qint64 maxSize )

qint64

write ( const char * data, qint64 maxSize )

qint64

write ( const char * data )

qint64

write ( const QByteArray & byteArray )

但是有时候需要需要进行类型的转换

 

#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
 
int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);
   QFile file("C:/Users/hp/Desktop/test.hex"); 
 
   if( file.open(QIODevice::WriteOnly) )       //未指定QIODevice::Text方式,用二进制的方式打开文件
    {
       QString hi = "Good Evening";
       double value = 3.14;
                                                       
       file.write(hi.toStdString().c_str()); //函数参数类型为const char*类型,因此将dt转为标准字符串(C++中的string),再取C风格字符串指针
       file.write(reinterpret_cast<char*>(&value), sizeof(value));
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值