从键盘输入学生若干信息,并把这些学生信息保存在一个文件中,文件名由键盘输入指定C语言
时间: 2024-02-13 18:05:32 浏览: 46
你可以使用以下代码实现从键盘输入学生信息并将其保存到文件中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
char name[20];
int age;
char sex[10];
};
int main() {
char filename[50];
struct Student students[MAX_STUDENTS];
int num_students = 0;
// 获取文件名
printf("请输入文件名:");
fgets(filename, sizeof(filename), stdin);
filename[strlen(filename) - 1] = '\0';
// 从键盘输入学生信息
while (num_students < MAX_STUDENTS) {
printf("请输入学生姓名(输入exit退出):");
fgets(students[num_students].name, sizeof(students[num_students].name), stdin);
students[num_students].name[strlen(students[num_students].name) - 1] = '\0';
if (strcmp(students[num_students].name, "exit") == 0) {
break;
}
printf("请输入学生年龄:");
scanf("%d", &students[num_students].age);
getchar();
printf("请输入学生性别:");
fgets(students[num_students].sex, sizeof(students[num_students].sex), stdin);
students[num_students].sex[strlen(students[num_students].sex) - 1] = '\0';
num_students++;
}
// 将学生信息保存到文件中
FILE *fp = fopen(filename, "w");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
exit(1);
}
for (int i = 0; i < num_students; i++) {
fprintf(fp, "%s,%d,%s\n", students[i].name, students[i].age, students[i].sex);
}
fclose(fp);
printf("学生信息已保存到文件 %s 中\n", filename);
return 0;
}
```
这段代码首先获取用户输入的文件名,然后使用一个 while 循环从键盘输入学生信息,每输入一个学生信息就将其保存到一个结构体数组中,最后将所有学生信息保存到文件中。保存到文件的格式为每行一个学生信息,学生信息的各个字段用逗号分隔。注意要用 fgets 函数读取字符串,以避免输入缓冲区中的换行符干扰下一次输入。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)