加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

QT 读取二进制文件 例子

(2012-12-25 12:55:58)
标签:

杂谈

分类: QT
DataStream.h
C++代码 http://xiangjie88.iteye.com/images/spinner.gif读取二进制文件 例子" TITLE="QT 读取二进制文件 例子" />
  1. #ifndef DATASTREAM_H
  2. #define DATASTREAM_H
  3. #include
  4. #include
  5. class A{
  6. private:
  7. int a1;
  8. QString a2;
  9. public:
  10. A(){
  11. a1 = 0;
  12. a2 = QString();
  13. }
  14. A(int v1,QString v2){
  15. a1 = v1;
  16. a2 = v2;
  17. }
  18. int getA1()const{
  19. return a1;
  20. }
  21. QString getA2()const{
  22. return a2;
  23. }
  24. };
  25. QDataStream& operator<<(QDataStream& out,const A& a);
  26. QDataStream& operator>>(QDataStream& in,A& a);
  27. #endif // DATASTREAM_H
#ifndef DATASTREAM_H
#define DATASTREAM_H
#include 
#include 

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
C++代码 http://xiangjie88.iteye.com/images/spinner.gif读取二进制文件 例子" TITLE="QT 读取二进制文件 例子" />
  1. #include "DataStream.h"
  2. #include
  3. #include
  4. using namespace std;
  5. QDataStream& operator<<(QDataStream& out,const A& a){
  6. int a1 = a.getA1();
  7. QString a2 = a.getA2();
  8. out << a1;
  9. out << a2;
  10. return out;
  11. }
  12. QDataStream& operator>>(QDataStream& in,A& a){
  13. int a1;
  14. QString a2;
  15. in >> a1;
  16. in >> a2;
  17. a = A(a1,a2);
  18. return in;
  19. }
  20. int main(){
  21. A a(10,"abc");
  22. QString fileName = "test.dat";
  23. QFile writeFile(fileName);
  24. writeFile.open(QIODevice::WriteOnly);
  25. QDataStream out(&writeFile);
  26. out << a;
  27. writeFile.close();
  28. QFile readFile(fileName);
  29. readFile.open(QIODevice::ReadOnly);
  30. QDataStream in(&readFile);
  31. A a2;
  32. in >> a2;
  33. readFile.close();
  34. cout << "a1:" << a2.getA1() << ",a2:" << a2.getA2().toStdString() << endl;
  35. }
  36. a1:10,a2:abc

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有