`

Qt读写二进制文件

    博客分类:
  • Qt
 
阅读更多
DataStream.h
#ifndef DATASTREAM_H
#define DATASTREAM_H
#include <QDataStream>
#include <QString>

class A{
private:
    int a1;
    QString a2;
public:
    A(){
        a1 = 0;
        a2 = QString();
    }

    A(int v1,QString v2){
        a1 = v1;
        a2 = v2;
    }
    int getA1()const{
        return a1;
    }
    QString getA2()const{
        return a2;
    }
};

QDataStream& operator<<(QDataStream& out,const A& a);
QDataStream& operator>>(QDataStream& in,A& a);

#endif // DATASTREAM_H



DataStream.cpp
#include "DataStream.h"
#include <QFile>
#include <iostream>
using namespace std;

QDataStream& operator<<(QDataStream& out,const A& a){
    int a1 = a.getA1();
    QString a2 = a.getA2();
    out << a1;
    out << a2;
    return out;
}

QDataStream& operator>>(QDataStream& in,A& a){
    int a1;
    QString a2;
    in >> a1;
    in >> a2;
    a = A(a1,a2);
    return in;
}

int main(){
    A a(10,"abc");
    QString fileName = "test.dat";
    QFile writeFile(fileName);
    writeFile.open(QIODevice::WriteOnly);
    QDataStream out(&writeFile);
    out << a;
    writeFile.close();

    QFile readFile(fileName);
    readFile.open(QIODevice::ReadOnly);
    QDataStream in(&readFile);
    A a2;
    in >> a2;
    readFile.close();
    cout << "a1:" << a2.getA1() << ",a2:" << a2.getA2().toStdString() << endl;
}

a1:10,a2:abc
分享到:
评论

相关推荐

    QT打开二进制文件,串口分包定时发送,qt串口发送数据,QT源码.zip.zip

    在给定的资源中,我们关注的是如何使用QT处理二进制文件,并通过串口进行分包定时发送数据。这里我们将详细讲解相关的知识点。 1. **QT编程基础**:QT库提供了一系列的类和函数,使得开发者可以方便地进行GUI(图形...

    QT一二进制形式读取图片

    在"QT一二进制形式读取图片"的场景中,我们关注的是如何使用QT来处理图像数据,特别是将图像以二进制形式存入文件。这个过程涉及的主要知识点包括: 1. **QImage类**:这是QT中处理图像的核心类,可以用来创建、...

    Qt 读取16进制的data文件

    标签“Qt 16进制”提示我们在Qt编程时可能会遇到需要处理16进制数据的场景,例如解析或生成二进制文件格式,或者在网络通信中处理数据包。这里,我们使用的`QDataStream`非常适合这种任务,因为它允许以特定的字节序...

    Qt-读写二进制文件(数据结构)

    在Qt框架中,读写二进制文件是一种高效且安全的数据存储方法,尤其适用于处理大量结构化数据。本文将深入探讨如何使用Qt的QDataStream类来实现二进制文件的读写操作,并结合自定义数据结构`AccountInfo`进行演示。 ...

    Qt实现GUI的二进制文件读写操作(源码分析+工程打包+测试例子)

    在本文中,我们将深入探讨如何使用Qt库进行GUI界面下的二进制文件读写操作,同时结合源码分析、工程打包以及测试实例来全面理解这一主题。Qt是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面和其他软件。...

    读写二进制文件源代码

    VC编写的C++读写二进制文件代码,其功能是将一个文件全部写到另一个文件的末尾(如果没有就创建),可以填写的选项有:源文件完整地址,写入次数,目标文件完整地址。格式为:d:/文件名 (注意是左斜杠) 或 d:\\...

    QT二进制文件读写应用程序示例

    除了文本文件之外,其他需要按照一定的格式定义读写的文件都称为二进制文件。每种格式的二进制文件都有自己的格式定义,写入数据时按照一定的顺序写入,读出时也按照相应的顺序读出。例如地球物理中常用的SEG-Y格式...

    Qt5开发及实例-CH903.rar,Qt5使用QDataStream读写二进制文件的代码

    Qt5开发及实例,实例CH903,使用QDataStream读写二进制文件。 (1)头文件“mainwindow.h”的具体代码 (2)源文件“mainwindow.cpp”的具体代码 函数fileFun()完成主要功能,其具体代码 void MainWindow::fileFun() {...

    QT打开二进制文件,串口分包定时发送源码.zip

    在本文中,我们将深入探讨如何使用QT库来打开二进制文件,并通过串口进行分包定时发送。这个过程涉及到几个关键的技术点,包括QT的文件操作、串口通信、多线程以及时间调度。 首先,QT是一个跨平台的C++图形用户...

    Qt开发教程二进制文件基础操作讲解.docx

    在Qt中,二进制文件的读写主要依赖于两个关键类:`QFile` 和 `QDataStream`。 - **QFile** 类负责处理文件的输入输出操作,即提供了一个文件设备接口,用于实现与文件系统的物理交互。 - **QDataStream** 类则提供...

    C++大作业图书馆系统(可保存二进制文件)

    C++的`fstream`库提供了读写文件的功能,如`ifstream`和`ofstream`用于打开、关闭、读写二进制文件。在处理二进制文件时,需要使用`read`和`write`函数进行数据的序列化和反序列化。 3. **结构体与类**:为了表示...

    QT实现wav音频文件读写

    在QT中,可以使用`QDataStream`类来读写二进制数据,它可以很好地处理像WAV文件这样的结构化数据。例如,我们可以用`QDataStream`来读取文件头中的各个字段,如采样率、位深度等,并将它们转换为对应的数值类型。...

    hexnosis:基于 Qt 的十六进制编辑器

    在基础功能方面,Hexnosis支持打开和编辑二进制文件,允许用户以十六进制格式查看和修改文件内容。这对于调试、逆向工程、数据分析等任务非常有用。此外,尽管目前它的功能相对较少,但随着项目的持续发展,可以期待...

    本代码使用Qt读取bin文件中的数据

    2. **QDataStream 类**:提供了一种序列化和反序列化对象的方法,常用于读写二进制数据流。 - **构造函数**:`QDataStream(QIODevice *device)`,用于创建一个与指定设备关联的数据流。 - **插入()与提取(&gt;&gt;)...

    QT读写文件内容

    总结,QT提供的文件读写功能强大而全面,无论是简单的文本处理还是复杂的二进制数据操作,都能轻松应对。通过`QFile`、`QTextStream`等类,开发者可以在QT应用程序中实现高效、安全的文件交互。在实际开发中,结合...

    qt-json读写文件demo

    2. 调用`QJsonDocument`的`toBinaryData()`或`toJson()`方法将其转换为二进制数据或字符串。 3. 使用`QFile`的`open()`方法打开文件以写入模式。 4. 写入转换后的JSON数据到文件,可以使用`write()`方法。 5. 关闭...

    qt-读写HID库文件

    在Qt框架下,进行Human Interface Device (HID)的读写操作通常涉及到对...以上就是Qt读写HID库文件所涉及的关键知识点。在实际开发中,你还需要根据具体设备的需求和特性进行适配和调试,以确保程序能正确稳定地工作。

    qt5.9.2 串口.rar_QT5_Qt5串口助手_qt 串口 16进制_qt串口助手_串口助手

    16进制是一种数值表示方式,常用于表示二进制数据,因为每个16进制数字可以表示4位二进制。在串口通信中,16进制格式便于查看和理解数据,尤其是当处理二进制数据或者协议时。通过串口助手,用户可以方便地输入16...

    pywd2015-qt5:用Python为Wilson编写的Qt5 GUI-Devinney蚀二进制建模软件

    PyWD2015-Qt5 一个用Python编写的Qt5 GUI,用于Wilson-Devinney的二进制建模软件。第一要务如果您碰巧在科学工作中使用了该软件,请引用PyWD2015发布过程: 您还必须正确引用相关的Wilson-Devinney论文: 安装依赖项...

    cpp-BinPipe二进制可视化工具

    处理二进制数据在系统编程、网络通信、文件读写和内存管理等领域是常见的任务。通常,开发者需要手动解析和构建这些数据结构,这可能涉及到位操作、内存缓冲区管理和字节序转换(例如,大端和小端字节序)。 ### 3....

Global site tag (gtag.js) - Google Analytics