c语言录入学生信息并保存在终端,关闭终端依然保存
时间: 2024-12-19 17:14:22 浏览: 33
在C语言中,为了录入学生信息并实现在程序结束时仍能保存数据,通常会利用文件操作来持久化存储数据。以下是简化的步骤:
1. 首先,创建一个结构体表示学生,包含姓名和学号等字段,例如:
```c
typedef struct {
char name[50];
int student_id;
} Student;
```
2. 创建一个函数用于获取用户输入,并将数据存入结构体:
```c
void input_student_info(Student* student) {
printf("请输入学生姓名:");
fgets(student->name, sizeof(student->name), stdin);
printf("请输入学生学号:");
scanf("%d", &student->student_id);
}
```
3. 调用这个函数录入信息:
```c
int main() {
Student new_student;
input_student_info(&new_student);
// 你可以选择直接打印出来查看(仅限于终端)
printf("姓名:%s, 学号:%d\n", new_student.name, new_student.student_id);
// 保存到文件(这里使用文本文件示例)
FILE* file = fopen("students.txt", "a"); // a代表追加模式
if (file != NULL) {
fprintf(file, "%s %d\n", new_student.name, new_student.student_id);
fclose(file); // 关闭文件
printf("学生信息已保存到文件。\n");
} else {
perror("打开文件失败");
}
return 0;
}
```
4. 程序结束后,如果希望数据保留,只需确保文件“students.txt”存在并且有足够的权限。关闭终端并不会直接影响文件内容。
注意:在实际应用中,为了防止用户输入导致的文件格式错误或安全风险,应额外添加错误检查和处理代码。
阅读全文