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;
}
代码虽然简单,但是足以说明问题。
运行结果如下: