Qt中使用流读写文件

本文详细介绍了在Qt5中如何使用QDataStream进行二进制文件的读写,包括写入和读取的基本步骤,强调了数据的顺序和调试注意事项。同时,也探讨了文本文件的读写,利用QTextStream进行操作,并提到了编码转换的重要性。此外,还提及了QBuffer在配合二进制数据流进行文件读写的应用,指出使用过程中的关键点。
摘要由CSDN通过智能技术生成

二进制文件的读写:

QDataStream 提供了基于 QIODevice 的二进制数据的序列化。数据流是一种二进 制流,这种流完全不依赖于底层操作系统、CPU 或者字节顺序(大端或小端)。由于数据流就是二进制 流,因此我们也可以直接读写没有编码的二进制数据,例如图像、视频、音频等。 QDataStream 既能够存取 C++ 基本类型,如 int、char、short 等,也可以存 取复杂的数据类型,例如自定义的类。实际上,QDataStream 对于类的存储,是 将复杂的类分割为很多基本单元实现的。
1,写二进制文件:


    QString path = QFileDialog::getSaveFileName(this,"open","./","source(*.cpp)");
    if(path.isEmpty() == false){
   
        QFile file(path);
        if(file.open(QIODevice::WriteOnly) == true)
        {
   
            /*常见数据流和file文件关联
             * 往数据流输入数据=往文件里面写数据
            */
            QDataStream stream(&file);
            stream << QString("测试") << 250;

            file.close();
        }
    }

注:创建数据量对象的时候绑定输入输出驱动后,向数据流里面写数据,相当于往驱动绑定的文件里面写数据。和标准C++里面的输入输出流一样,<<表示数据的流向。
2,读二进制文件

    QString path = QFileDialog::getOpenFileName(this,"open","./","source(*.cpp)");
    if(path.isEmpty() == false)
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值