实现从文本中读取出指定学号的学生信息并显示,文本文件存放格式是每一行对应一个学生信息,最后一行没有换行符用c语言
时间: 2024-01-01 08:23:42 浏览: 76
一个用C语言编写的学生信息管理系统,学生数据保存在文本文件中
你可以使用C语言来实现从文本中读取指定学号的学生信息并显示。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100
typedef struct {
char sno[10];
char name[20];
int age;
} Student;
int main() {
FILE *file;
char filename[] = "students.txt";
char targetSno[10];
char line[MAX_LENGTH];
Student student;
printf("请输入要查询的学号:");
scanf("%s", targetSno);
file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1;
}
while (fgets(line, MAX_LENGTH, file) != NULL) {
sscanf(line, "%s %s %d", student.sno, student.name, &student.age);
if (strcmp(student.sno, targetSno) == 0) {
printf("学号:%s\n姓名:%s\n年龄:%d\n", student.sno, student.name, student.age);
break;
}
}
fclose(file);
return 0;
}
```
这段代码首先定义了一个`Student`结构体,用于存储学生的学号、姓名和年龄。然后,它打开名为`students.txt`的文本文件,并逐行读取文件内容。每一行都被解析为一个学生信息,并与目标学号进行比较。如果找到匹配的学号,就将学生信息打印出来。
请注意,这段代码假设文本文件中的每一行都按照学号、姓名和年龄的顺序排列,并且用空格分隔。你可以根据实际情况进行修改。
阅读全文