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   * )n ewnode, sizeof (qqq))    //将newnode指针强制转为成 char * 的指针 ;  
      cout
<< newnode -> a << endl << newnode -> b << endl;

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


你可能感兴趣的:(C++ 输出类、结构体到文件)