用fscanf和fprintf函数改写学生信息输出
案例
全员育人导师制案例信息技术应用案例心得信息技术教学案例综合实践活动案例我余额宝案例
2
/* 文件路径名:alg10_6.c */
#include "alg10_6.h"
/* 输入学生信息,并存放到文件中 */
void Save(char fileName[])
{
StudentType student; /* 学生结构变量 */
FILE *pFile; /* 文件指针 */
int i;
if ((pFile = fopen(fileName, "wb")) == NULL)
{ /* 打开文件 */
printf("打开文件%s失败!\n"
"敲任意键退出!\n", fileName);
system("PAUSE"); /* 调用库函数system() */
exit(1);
}
printf("%8s输入学生信息\n", "");
printf("学号\t姓名\t性别\t年龄\n");
for (i = 0; i < N; i++)
{ /* 输入学生信息,并存入到文件中 */
scanf("%d%s%s%d", &student.num, student.name,
student.sex, &student.age); /* 输入学生信息 */
fprintf(pFile, "%d %s %s %d\n", student.num, student.name,
student.sex, student.age); /* 将学生信息存入文件中 */
if (ferror(pFile) != 0)
{ /* 文件写操作出错 */
clearerr(pFile); /* 使文件错误标志置为0 */
printf("文件写操作出错\n"
"敲任意键退出!\n");
system("PAUSE"); /* 调用库函数system() */
exit(1);
}
}
fclose(pFile); /* 关闭文件 */
}
/* 显示学生信息 */
void Display(char fileName[]) {
StudentType student; /* 学生结构变量 */
FILE *pFile; /* 文件指针 */
int i;
if ((pFile = fopen(fileName, "rb")) == NULL)
{ /* 打开文件 */
printf("打开文件%s失败!\n"
"敲任意键退出!\n", fileName);
system("PAUSE"); /* 调用库函数system() */
exit(1);
}
printf("\n\n%8s显示学生信息\n", "");
printf("学号\t姓名\t性别\t年龄\n");
for (i = 0; i < N; i++)
{ /* 输入学生信息,并存入到文件中 */
fscanf(pFile, "%d %s %s %d", &student.num, student.name,
student.sex, &student.age); /* 读入学生信息 */
if (ferror(pFile) != 0)
{ /* 文件读操作出错 */
clearerr(pFile); /* 使文件错误标志置为0 */
printf("文件写操作出错\n"
"敲任意键退出!\n");
system("PAUSE"); /* 调用库函数system() */
exit(1);
}
printf("%d\t%s\t%s\t%d\n", student.num, student.name,
student.sex, student.age); /* 显示学生信息 */
}
fclose(pFile); /* 关闭文件 */
}