c语言实现从文本中读取出指定学号的学生信息并显示,文本文件存放格式是每一行对应一个学生信息,最后一行没有换行符。
时间: 2024-01-01 07:23:34 浏览: 96
一个用C语言编写的学生信息管理系统,学生数据保存在文本文件中
以下是使用C语言实现从文本中读取出指定学号的学生信息并显示的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100
typedef struct {
char student_id[MAX_LENGTH];
char student_info[MAX_LENGTH];
} Student;
int main() {
FILE *file;
char student_id[MAX_LENGTH];
char line[MAX_LENGTH];
Student student;
// 打开文件
file = fopen("students.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 输入要查找的学号
printf("请输入要查找的学号:");
fgets(student_id, MAX_LENGTH, stdin);
student_id[strcspn(student_id, "\n")] = '\0'; // 去除换行符
// 逐行读取文件,查找指定学号的学生信息
while (fgets(line, MAX_LENGTH, file) != NULL) {
line[strcspn(line, "\n")] = '\0'; // 去除换行符
// 判断学号是否匹配
if (strcmp(line, student_id) == 0) {
strcpy(student.student_id, line);
fgets(student.student_info, MAX_LENGTH, file);
student.student_info[strcspn(student.student_info, "\n")] = '\0'; // 去除换行符
break;
}
}
// 关闭文件
fclose(file);
// 输出学生信息
if (strlen(student.student_id) > 0) {
printf("学号:%s\n", student.student_id);
printf("学生信息:%s\n", student.student_info);
} else {
printf("未找到指定学号的学生信息\n");
}
return 0;
}
```
阅读全文