怎么用c++将dat文件中的数据读入结构体数组中

如何用c++将dat文件中的数据读入结构体数组中
#include<fstream.h>
#include<Windows.h>
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
#include<string>
#include<stdlib.h>
#include<time.h>  

struct Record
{
char *name;
int gender,age,major,level,salary,tept,title;
long id,s_number,t_number;
char *time;
};

void Read()


fstream fs("d:\\jilu.dat",ios::in);
if(!fs)
{
cout<<"Fail to open!"<<endl;
return;
}
for(int i=0;i<s+t+e+g;i++)
{
rc[i].name=new char;rc[i].time=new char;
                fs>>rc[i].name>>rc[i].id>>rc[i].gender>>rc[i].age>>rc[i].major>>rc[i].s_number>>rc[i].level>>rc[i].t_number>>rc[i].title>>rc[i].tept>>rc[i].salary>>rc[i].time;

}
fs.close();

}

这是我写的一个高效管理系统的一部分,我想问一下这里面有没有什么硬伤,因为经过测试,好像整个系统中读入数据的部分有点问题,求大神指导  ps:jilu.dat中已有对应数据。
------解决方案--------------------
在结构持久序列化里面是不能出现char *name;这样的指针性变量的,因为指针所指向的是内存而不是实际的数据,这些内存在释放后将会被其它数据填充或被清除,因此必须使用:

char name[25];

然后填充实际数据,这样保存的才是实际的数据