`

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-读写二进制文件(数据结构)

    二进制文件存储方式比较方便,文本小,保密效果好 定义一个数据结构并实现相关操作 使用QDataStream进行读写操做 数据结构 #include struct AccountInfo { // 数据 QString Account; QString LogPasswd; // 初始...

    读写二进制文件源代码

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

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

    还有一篇博客,希望能分享点东西, 直接百度搜"Qt实现GUI的二进制文件读写操作(源码分析+工程打包+测试例子)

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

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

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

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

    c++读写.ply文件

    本文档介绍了PLY多边形文件格式,用于存储被...文件格式有两种子格式:用于轻松启动的ASCII表示形式,以及用于紧凑存储和快速保存和加载的二进制版本。我们希望这种格式将促进程序之间以及人群之间的图形对象的交换。

    c++读写Excel表格 支持qt \ vc++

    纯底层实现文件,纯二进制读写操作。测试用例自己加载进去。

    《Qt 学习之路 2》

    基于最新的Qt5.0.1的学习书籍,非常适合QT5的入门学习。 适合了解QT5与QT4区别的新手。 文章结构如下: ...36 二进制文件读写 37 文本文件读写 38 存储容器 39 遍历容器 40 隐式数据共享 41 model/view 架构

    Qt学习之路2 (基于Qt5.0.1共58章)

    36. 二进制文件读写 37. 文本文件读写 38. 存储容器 39. 遍历容器 40. 隐式数据共享 41. model/view 架构 42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. ...

    qt必备学习手册初级

    7.2 二进制文件读写 73 7.3 文本文件读写 75 8 Socket通信 76 8.1 TCP/IP 77 服务器端 77 客户端 79 8.2 UDP 81 广播 82 组播 82 8.3 TCP/IP 和 UDP的区别 83 9 多线程 83 9.1 线程介绍 84 9.2 多线程的使用 87 9.3 ...

    QT学习之路2 (1~82篇)

    36. 二进制文件读写 37. 文本文件读写 38. 存储容器 39. 遍历容器 40. 隐式数据共享 41. model/view 架构 42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. ...

    精通Qt4编程(第二版)源代码

    \8.2 操作二进制文件 220 \8.3 临时文件 222 \8.4 目录操作和文件管理 222 \8.4.1 目录操作 222 \8.4.2 文件管理 224 \8.5 监视文件系统变化 225 \8.6 文件引擎 226 \8.7 小结 226 \第9章 网络 227 \9.1 ...

    精通qt4编程(源代码)

    \ 第8章 文件处理 蔡志明介绍了Qt的文件处理,包括基于流的文本文件和二进制文件处理,文件信息和目录操作,目录以及文件的变化监控,文件引擎的编写。 219 \ 第9章 网络 李立夏介绍了Qt的网络处理,包括编写常见的...

    文件写操作

    与文件读操作相对应,文件写操作也根据不同的文件格式分为不同的写操作,包括写入文本文件、写入二进制文件、写入电子表格文件、写入数据记录文件和写入测量文件。  写入文本文件  “写入文本文件”位于函数选板...

    网管教程 从入门到精通软件篇.txt

    BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音...

Global site tag (gtag.js) - Google Analytics