c++,结构体保存到文件,和从文件中读取内容到结构体的过程是怎么样的呢?
结构体保存到文件,和从文件中读取内容到结构体的过程是怎么样的呢?fout.write((char*)&pe,sizeofpe);这个过程是把结构体的各个成员逐个的写入到文...
结构体保存到文件,和从文件中读取内容到结构体的过程是怎么样的呢?
fout.write((char*)&pe, sizeof pe);
这个过程是把结构体的各个成员逐个的写入到文件吗?就是先写入pe.name,然后再pe.weight以此类推?
或者是直接把结构体的构造函数写入到文件呢?people pe={"李勇", 78.5, 181, 25, 'f'};这样?
把文件中的内容读入到结构体:
fin.read((char*)&pa, sizeof pa);
他是怎么读入到结构体的呢?读取文件的时候读的是pe.name,然后赋给pa.name。还是读取"李勇",在赋值给pa.name呢?还是直接pa={"李勇", 78.5, 181, 25, 'f'};这样呢?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int num=20;
struct people
{
char name[num];
double weight;
int tall;
int age;
char sex;
};
int main()
{
people pe={"李勇", 78.5, 181, 25, 'f'};
ofstream fout("people.dat", ios::out|ios::binary);
fout.write((char*)&pe, sizeof pe);
fout.close();
people pa={0};
ifstream fin("people.dat", ios::binary);
fin.read((char*)&pa, sizeof pa);
cout<<pa.name<<" "<<pa.age<<" "<<pa.weight<<" "<<pa.tall<<" "<<pa.sex<<endl;
fin.close();
return 0;
} 展开
fout.write((char*)&pe, sizeof pe);
这个过程是把结构体的各个成员逐个的写入到文件吗?就是先写入pe.name,然后再pe.weight以此类推?
或者是直接把结构体的构造函数写入到文件呢?people pe={"李勇", 78.5, 181, 25, 'f'};这样?
把文件中的内容读入到结构体:
fin.read((char*)&pa, sizeof pa);
他是怎么读入到结构体的呢?读取文件的时候读的是pe.name,然后赋给pa.name。还是读取"李勇",在赋值给pa.name呢?还是直接pa={"李勇", 78.5, 181, 25, 'f'};这样呢?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int num=20;
struct people
{
char name[num];
double weight;
int tall;
int age;
char sex;
};
int main()
{
people pe={"李勇", 78.5, 181, 25, 'f'};
ofstream fout("people.dat", ios::out|ios::binary);
fout.write((char*)&pe, sizeof pe);
fout.close();
people pa={0};
ifstream fin("people.dat", ios::binary);
fin.read((char*)&pa, sizeof pa);
cout<<pa.name<<" "<<pa.age<<" "<<pa.weight<<" "<<pa.tall<<" "<<pa.sex<<endl;
fin.close();
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询