1、声明结构体
struct Person
{
char name[8];
char yuwen[8];
char math[8];
};
2、成绩录入
在"保存"按钮中实现以下代码
UpdateData(TRUE);
file=fopen("test.txt","a");
Person person={0};
UpdateData(TRUE);
strcpy(person.name,m_name_in);//结构体字符数组赋值
strcpy(person.yuwen,m_yuwen_in);
strcpy(person.math,m_math_in);
fwrite(&person,sizeof(Person),1,file);//向磁盘写入结构体
fclose(file);
3、成绩读取
在CEdit中输入学生名字后,在"查询"按钮中实现以下代码:
file=fopen("test.txt","r");
fseek(file,0,SEEK_END);
int lenth=ftell(file);//总的字节数
int num=lenth/sizeof(Person);//有多少个人
Person *p=new Person[num];//使用动态数组
rewind(file);
fread(p,sizeof(Person),num,file);
fclose(file);
UpdateData(TRUE);
for(int i=0;;i++)
{
if(p[i].name==m_name_out)
{
m_yuwen_out=p[i].yuwen;
m_math_out=p[i].math;
break;
}
}
UpdateData(FALSE);