fwrite与fread学习笔记
#include<stdio.h>#include<string.h>
struct student{
int number;
char name;
int age;
}stu;
void init(){
stu.number = 1;
strcpy(stu.name,"Jim");
stu.age = 20;
stu.number = 2;
strcpy(stu.name,"Bob");
stu.age = 21;
stu.number = 3;
strcpy(stu.name,"Tom");
stu.age = 22;
stu.number = 4;
strcpy(stu.name,"Mark");
stu.age = 23;
}
void save(){
FILE *fp;
int i;
if(!(fp=fopen("student","wb"))){
printf("打开失败...\n");
return ;
}
for(i = 0 ;i< 4; i ++){
fwrite(stu+i,sizeof(struct student),1,fp);
}
fclose(fp);
printf("写入成功...\n");
}
void load(){
FILE *fp;
struct student s;
int i;
if(!(fp=fopen("student","rb"))){
printf("打开失败...\n");
return ;
}
printf("********************显示数据开始********************\n");
printf("学号\t\t姓名\t\t年龄\n");
for(i = 0 ; i < 4; i++){
fread(s+i,sizeof(struct student),1,fp);
printf("number:%-2d\tname:%-5s\tage:%-4d\n",s.number,s.name,s.age);
}
printf("********************显示数据结束********************\n");
fclose(fp);
printf("读取完成....\n");
}
int main()
{
system("color f0");
init();
save();
load();
return 0;
}
楼主太棒了,解决了我的困惑
页:
[1]