IO学习(1)


#ifndef STUDENT_H  
#define STUDENT_H  
  
typedef struct Student {  
    char name[20];  
    int chinese;  
    int math;  
    int english;  
    int physical;  
    int chemical;  
    int biological;  
} stu_t;  
  
#endif
#include <stdio.h>  
#include "student.h"  
  
int main() {  
    FILE *fp = fopen("students.txt", "w");  
    if (fp == NULL) {  
        perror("Error opening file");  
        return -1;  
    }  
  
    stu_t students[] = {  
        {"zhangsan", 99, 100, 88, 90, 85, 90},  
        {"lisi", 78, 85, 82, 88, 80, 85},  
        {"wanger", 90, 95, 92, 98, 92, 95}  
    };  
  
    for (int i = 0; i < 3; i++) 
	{  
        fprintf(fp, "%s %d %d %d %d %d %d\n",students[i].name,students[i].chinese,  
        students[i].math,  
        students[i].english,  
        students[i].physical,  
        students[i].chemical,  
        students[i].biological);  
    }  
  printf("\n");
    fclose(fp);  
    return 0;  
}

#include <stdio.h>  
#include "student.h"  
  
int main()
{  
    FILE *fp = fopen("students.txt", "r");  
       stu_t arr[3];  
  int retval=0;
  while(1)
  {
	  for(int i=0;retval!=EOF;i++)
	  {
		  retval=fscanf(fp,"%s %d %d %d %d %d %d",
				  arr[i].name,
				  &arr[i].chinese,
				  &arr[i].math,
				  &arr[i].english,
				  &arr[i].physical,
				  &arr[i].chemical,
				  &arr[i].biological);
		  if(retval==EOF)
		  {
			  break;
		  }
	  }
  }
    fclose(fp);  
  
    for (int i = 0; i < 3; i++) {  
        printf("Name: %s\n", arr[i].name);  
        printf("Chinese: %d, Math: %d, English: %d, Physical: %d, Chemical: %d, Biological: %d\n",  
               arr[i].chinese, arr[i].math, arr[i].english, arr[i].physical, arr[i].chemical, arr[i].biological);  
    }  
  
    return 0;  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值