qt对文件的操作

QDataStream提拱了一个二进制的数据流,并且与程序运行的操作系统平台无关。利用QDataStream类可以方便地保存和读取各类数据。例如,在实现应用中常需要保存用户设置的参数,以便下次运行时恢复关闭时的参数设置,可与其他程序交互

QIODevice描述了一个可以从中读数据和向它写数据的输入/输出介质。QFile类就是一个IO设备的例子。

实例(向一个流中写二进制数据):

    QFile f( "file.dta" );

    f.open(QIODevice::IO_WriteOnly );

   QDataStream s( &f );    // 我们将把数据串行化至文件f

    s<< "hello everyone";   // 串行化一个字符串(写入一个字符串)

    s<< (Q_INT32)10;       // 串行化一个整数(写入一个32位整数)

 

实例(从一个流中读二进制数据):

    QFile f( "file.dta" );
    f.open(QIODevice::IO_ReadOnly );
    QDataStream s( &f );    // 从文件f中读取串行化的数据
    QString str;
    Q_INT32 a;
    s >>str >> a;          // 提取出“hello everyone”和10

每一个要写到流中的项都被写成一种预定义的二进制格式,这种格式取决于这个项的类型。

QTextStream侧重于向QIODevice文本读写,这里所说的文本指的是普通的简单的QChar,QString,QLatin1Char,int等等之内的,和C语言中写文件或者网络传输的时候,先将内容填充到一个buffer,进行操作有点类似,属于普通的轻量级的流操作类。

QDataStream则是侧重于数据格式和类型。QDataStream数据流不仅可以操作QTextStream所能处理的普通文本,而且可以对特定格式的类型数据进行完美的输入与输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值