读取文件内容

xiaoxiao2021-02-28  108

/*

读取文件内容

*/

#include <stdio.h>

#include <stdlib.h> #define N 30 typedef  struct date_order {     int year;     int month;     int day; }DATE; typedef struct student {     long studentID;     char studentName[10];     char studentSex;     DATE birthday;     int score[4];     float aver; }STUDENT; int ReadfromFile(STUDENT stu[],int m) {     FILE *fp;     int i,j;     if((fp = fopen("score.txt","r")) == NULL)     {         printf("Fialure to open score.txt!\n");         exit(0);     }     for(i = 0;!feof(fp);i++)     {         fscanf(fp,"ld",&stu[i].studentID);         fscanf(fp,"%8s",stu[i].studentName);         fscanf(fp," %c",&stu[i].studentSex);         fscanf(fp,"m/-/-",&stu[i].birthday.year,                                 &stu[i].birthday.month,                                 &stu[i].birthday.day);                                 for(j=0;j<m;j++)                                 {                                     fscanf(fp,"M",&stu[i].score[j]);                                 }                                 fscanf(fp,"%f",&stu[i].aver);     }     fclose(fp);     printf("Total student is %d.\n",i-1);     return i-1; } void PrintScore(STUDENT stu[],int n,int m) {     int i,j;     for(i=0;i<n;i++)     {         printf("ld %8s < m /d /d",         stu[i].studentID,stu[i].studentName,stu[i].studentSex,         stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.day);         for(j = 0;j<m;j++)         {             printf("M",stu[i].score[j]);         }         printf("%6.1f\n",stu[i].aver);     } } int main() {     STUDENT stu[N];     int n;     n = ReadfromFile(stu,4);     PrintScore(stu,n,4);     return 0; }

转载请注明原文地址: https://www.6miu.com/read-64411.html

最新回复(0)