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;
}
代碼雖然簡單,但是足以說明問題。
運行結果如下: