您的位置:首页 > 编程语言 > C语言/C++

C语言文件的输入输出_学生的信息

2015-07-11 10:57 316 查看
输入学生的有关信息,转存到磁盘文件上去:

#include<stdio.h>
#define SIZE 3
struct Student{
char name[10];
int num;
int age;
char address[10];
}stu[SIZE];/*结构体数组*/

/*以下为输入函数*/
void save(){
FILE *fp;
int i;
if((fp=fopen("stu.dat","wb"))==NULL){ /*以写的方式打开,并判断是否将文件读完*/  //wb是只写的方式
printf("can not open file\n");
return ;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stu[i],sizeof(Student),1,fp)!=1)  /*数据块输出函数,用于将数据输出到磁盘文件中*/ //如果是正确的返回值是1
printf("file write error\n");
fclose(fp);  //关闭文件
}

/*以下函数用于浏览*/
void get(){
FILE *fp;
int i;
if((fp=fopen("stu.dat","rb"))==NULL){  //rb是只读的意思
printf("can not open file\n");
return ;
}
for(i=0;i<SIZE;i++){
fread(&stu[i],sizeof(Student),1,fp);
printf("%-10s %4d %4d %-10s\n",stu[i].name,stu[i].num,stu[i].age,stu[i].address);
}
fclose(fp);
}//读出
int main(){
int i;
printf("please enter data of students(name num age address):\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stu[i].name,&stu[i].num,&stu[i].age,stu[i].address);
save();
printf("data of students(name num age address):\n");
get();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: