10-6-8有结构⽂件的读写1(10分)
10-6-8 有结构⽂件的读写1 (10 分)
学⽣类型:ST的类型定义如下:
typedef struct student{ char name[10],id[10]; int gender; int age; double scored; } ST; 编写函数,从指定的⽂件上读⼊若⼲字符串,每⾏字符串是⼀个学⽣的信息(姓名,学号,性别,年龄,分数)的字符串表⽰,数据间以空格分隔,将学⽣们的信息存储于⼀个结构体中,并利⽤output()函数输出到指定⽂件中。
函数接⼝定义:
void fun(FILE *fin,FILE *fout);
其中 fin 和 fout 都是⽤户传⼊的参数。 前者是已正常打开的可读⽂件,⽽后者是已正常打开的可写⽂件。打开英文
裁判测试程序样例:
在这⾥给出函数被调⽤进⾏测试的例⼦。例如:
#include<stdio.h>
#include<stdlib.h>sns社区
拔罐出水typedef struct student{
char name[10],id[10];
int gender;
保持健康的英语
int age;
double scored;
} ST;
void output(ST *d,FILE *fout){//测试程序,输出到⽂件调⽤此函数完成
if(d==NULL){printf("null\n");return;}
fprintf(fout,"%s,%s,%d,%d,%4.2f\n",d->name,d->id,d->gender,d->age,d->scored);
芜湖市鸠江区}
void fun(FILE *fin,FILE *fout);//<--需要完成的函数(包括读⼊字符串,转换成对应的结构体,并利⽤函数(output())输出到指定⽂件中,输⼊输出⽂件不⽤考虑
/* 请在这⾥填写答案 */
输⼊样例:
从固定⽂件中读取:⽂件内容:
aaa 12301888.88
bbb 45611999.99
ccc 78911866.66穿上衣服的英语
ddd 35601867.89
输出样例:
输出到指定⽂件中,⽂件内容:
aaa,123,0,18,88.88
bbb,456,1,19,99.99
ccc,789,1,18,66.66
ddd,356,0,18,67.89
void fun(FILE *fin,FILE *fout)
{
for(ST s;fscanf(fin,"%s%s%d%d%lf",s.name,s.id,&der,&s.age,&s.scored)!=EOF;output(&s,fout));听歌写作业好不好
//注意,id要⽤%s,因为防⽌0XX的情况,该情况是⽆法⽤%d读取
个人简历封面免费下载
}