用C语言实现从文本中读取出指定学号的学生信息并显示,文本文件存放格式是每一行对应一个学生信息,最后一行没有换行符。
时间: 2024-01-01 17:16:42 浏览: 61
好的,这是一个比较常见的文件读取操作,我们可以通过以下步骤实现:
1. 打开文件,使用fopen()函数,获取文件指针。
2. 逐行读取文件内容,使用fgets()函数,将每一行的内容读取到缓冲区中。
3. 将缓冲区中的内容解析,获取学生学号,如果该学号与指定的学号相等,则将该学生信息显示出来。
4. 关闭文件,使用fclose()函数,释放文件指针。
下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char filename[] = "students.txt"; // 文件名
char buffer[1024]; // 缓冲区
int id; // 学生学号
FILE *fp; // 文件指针
// 打开文件
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
exit(1);
}
// 逐行读取文件内容
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// 解析学生学号
sscanf(buffer, "%d", &id);
if (id == 12345) { // 假设指定学号是12345
// 显示学生信息
printf("Student ID: %d\n", id);
printf("Student Info: %s", buffer);
break; // 找到指定学生信息后退出循环
}
}
// 关闭文件
fclose(fp);
return 0;
}
```
需要注意的是,上述代码中的文件名、指定学号以及缓冲区大小等参数需要根据实际情况进行修改。同时,为了保证代码的健壮性,需要对文件打开、读取、关闭等操作进行错误处理。
阅读全文