C++写文件,直接写入结构体
以前写文件都是写入字符串或者二进制再或者就是一些配置文件,今天介绍一下直接写入结构体,可以在软件参数较多的时候直接进行读写,直接将整个结构体写入和读取,看代码:
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
typedef struct NODE
{
int a;
int b ;
}NODE;
//写文件
int writePara()
{
NODE s;
s.a=10;
s.b=20;
FILE *fp = fopen("D:\\1.txt" , "w+");
if(fp==NULL)
{
return 0;
}
int ret = fwrite(&s , 1 , sizeof(NODE) , fp);
fclose(fp);
return 0;
}
//读文件
int readPara()
{
NODE s;
FILE *fp = fopen("D:\\1.txt" , "r");
if(fp==NULL)
{
return 0;
}
int ret = fread(&s , 1 , sizeof(NODE) , fp);
fclose(fp);
cout<<"a="<<s.a<<" b="<<s.b<<endl;
return 0;
}
int main()
{
writePara();
readPara();
return 0;
}
代码虽然简单,但是足以说明问题。
运行结果如下: