c语言把从键盘输入的4个学生信息写到文件中,然后读出并显示。
时间: 2024-03-01 20:51:48 浏览: 122
好的,这是一个简单的示例代码,用于演示如何将从键盘输入的4个学生信息写入文件中,然后再从文件中读出并显示出来。代码如下:
```c
#include <stdio.h>
struct Student {
char name[20];
int age;
float score;
};
int main() {
struct Student stu[4];
FILE *fp;
int i;
// 从键盘输入学生信息
for (i = 0; i < 4; i++) {
printf("请输入第%d个学生的姓名、年龄和成绩:", i+1);
scanf("%s %d %f", stu[i].name, &stu[i].age, &stu[i].score);
}
// 将学生信息写入文件中
fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("文件打开失败\n");
return 0;
}
for (i = 0; i < 4; i++) {
fprintf(fp, "%s %d %.2f\n", stu[i].name, stu[i].age, stu[i].score);
}
fclose(fp);
// 从文件中读取学生信息并显示
fp = fopen("students.txt", "r");
if (fp == NULL) {
printf("文件打开失败\n");
return 0;
}
for (i = 0; i < 4; i++) {
fscanf(fp, "%s %d %f", stu[i].name, &stu[i].age, &stu[i].score);
printf("第%d个学生的姓名:%s,年龄:%d,成绩:%.2f\n", i+1, stu[i].name, stu[i].age, stu[i].score);
}
fclose(fp);
return 0;
}
```
这个示例程序中,我们定义了一个结构体类型 Student,其中包含了学生的姓名、年龄和成绩。然后我们在主函数中定义了一个 Student 类型的数组 stu,用于存储从键盘输入的学生信息。接着我们打开一个名为 "students.txt" 的文件,将学生信息写入文件中,然后关闭文件。再次打开文件,从中读取学生信息,并将其显示出来。
注意到我们在写入文件和读取文件时,都使用了 fprintf 和 fscanf 函数,它们和 printf 和 scanf 函数非常相似,唯一的区别是前者需要传入一个文件指针参数,用于指定将数据写入哪个文件或者从哪个文件读取数据。
希望这个示例代码能对你有所帮助!