详解:C++ 输出类、结构体到文件

[来源] 达内    [编辑] 达内   [时间]2012-06-14

C++中怎么将我们自己定义的类或结构体输出到文件呢? 下面这个小程序演示怎么向文件输出结构体,并且从文件再读到结构体当中。

 详解:C++ 输出类、结构体到文件

C++中怎么将我们自己定义的类或结构体输出到文件呢?
下面这个小程序演示怎么向文件输出结构体,并且从文件再读到结构体当中。
 

 #include<iostream>
#include<fstream>

  using namespace std;
  int main()
  {
      fstream File;
      File.open("QQ.txt",ios::out|ios::in|ios::binary);// 二进制不是必须的,ios::in必须有,否则不能正确读      
      
       struct qqq                 // 自己定义的结构体          
      {
          int a;
          double b;
      };
      File.seekp(10);//seekp函数定位输出指针,假设定位到10这个位置
      qqq *node=new qqq;
      node->a=10;
      node->b=199.199;
      File.write((const char *)node,sizeof(qqq));   //将node指针强制转为成 char * 的指针。
      qqq *newnode=new qqq;
      File.seekg(10);//seekg函数定位输入指针,定位到10这个位置      
      File.read((char *)newnode,sizeof(qqq))     //将newnode指针强制转为成 char * 的指针;   
      cout<<newnode->a<<endl<<newnode->b<<endl;

  }

其实也很简单啦,就是 强制转换指针类型。
这种方式也有局限,就是结构体的大小必须得固定,成员不能有变长的。
 

资源下载