c语言:题目描述:实现从文本中读取出指定学号的学生信息并显示,文本文件存放格式是每一行对应一个学生信息,最后一行没有换行符。
时间: 2024-01-01 16:23:33 浏览: 251
你可以使用C语言中的文件操作函数来实现从文本中读取指定学号的学生信息并显示。具体步骤如下:
1. 打开文件:使用`fopen()`函数打开文本文件,指定文件路径和打开模式为只读模式("r")。
2. 逐行读取:使用`fgets()`函数逐行读取文件内容,将每一行存储到一个字符数组中。
3. 解析学生信息:对于每一行读取到的学生信息,可以使用字符串处理函数(如`strtok()`)将其分割成学号和其他信息。
4. 比较学号:将读取到的学号与指定的学号进行比较,如果相同则显示该学生信息。
5. 关闭文件:使用`fclose()`函数关闭文件。
下面是一个示例代码,假设要查找学号为"2021001"的学生信息:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *file;
char line[100];
char *student_id;
char *student_info;
// 打开文件
file = fopen("students.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 逐行读取并解析学生信息
while (fgets(line, sizeof(line), file)) {
// 分割学号和其他信息
student_id = strtok(line, " ");
student_info = strtok(NULL, "\n");
// 比较学号并显示学生信息
if (strcmp(student_id, "2021001") == 0) {
printf("学号:%s\n", student_id);
printf("信息:%s\n", student_info);
break;
}
}
// 关闭文件
fclose(file);
return 0;
}
```
请注意,上述示例代码假设文本文件中的学号和其他信息之间使用空格分隔。你可以根据实际情况进行相应的修改。
阅读全文