33-文本流和数据流

1. 文本类型

  • QT 中将文本类型分为两大类

    • 文本文件:文件内容是可读的文本字符
    • 数据文件:文件内容是直接的二进制数据
  • QFile 直接支持文本文件和数据文件的读写

    qint64 read(char* data,qint64 maxSize);
    QByteArray read(qint64 maxSize);
    qint64 write(const char* data,qint64 maxSize);
    qint64 write(const QByteArray& byteArray);
    
  • 使用QFile将数据流写入读出示例

2. 文本流和数据流

  • QT 提供辅助类简化了文本文件/数据文件的读写

    • QTextStream:写入的数据全部转换为可读文本
    • QDataStream:写入的数据根据类型转换为二进制数据
  • IO 设备辅助类的使用方式

    // 1.创建QFile对象
    // 2.使用file对象打开文件
    // 3.将数据写入文件
    QXXXXStream out(&file);
    out<<QString("LuoJianyi");
    out<<QString("Result:")<<3.14;
    // 4.将数据从文件中读出
    in>>dt;
    in>>result;
    in>>value;
    
  • 不同 QT 版本的数据流文件格式可能不同

    void setVersion(int v);  // 设置读写版本号
    int version() const  // 获取读写版本号
    
  • QTextStream和QDataStream示例

3. 总结

  • QT 中的文本辅助类用于方便读写操作
  • QTextStream 用于文本数据的快速读写
  • QDataStream 用于二进制数据的快速读写
  • QDataStream 的文件格式与 QT 版本相关
  • 数据格式文件在程序间传递时,需要考虑版本问题
发布了73 篇原创文章 · 获赞 31 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/105699497