c语言读取文件中指定学生信息
时间: 2023-11-10 19:06:21 浏览: 173
学生信息(c语言)
假设文件中每行记录的格式为:学号 姓名 年龄 性别,可以使用以下代码读取文件中指定学生的信息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_SIZE 100 // 每行记录的最大长度
int main() {
char filename[] = "students.txt"; // 文件名
FILE *fp = fopen(filename, "r"); // 打开只读文件
if (fp == NULL) { // 打开失败
printf("Failed to open file %s\n", filename);
return 1;
}
char target_id[] = "001"; // 要查找的学生学号
char line[MAX_LINE_SIZE]; // 存储每行记录
while (fgets(line, MAX_LINE_SIZE, fp) != NULL) { // 逐行读取文件内容
char id[4], name[20], age[4], sex[3]; // 分别存储学号、姓名、年龄和性别
sscanf(line, "%s %s %s %s", id, name, age, sex); // 使用 sscanf 函数解析每行记录
if (strcmp(id, target_id) == 0) { // 找到目标学生
printf("ID: %s, Name: %s, Age: %s, Sex: %s\n", id, name, age, sex);
break;
}
}
fclose(fp); // 关闭文件
return 0;
}
```
在上面的代码中,我们首先打开只读文件 "students.txt",然后使用 fgets 函数逐行读取文件内容。对于每行记录,我们使用 sscanf 函数将其解析为学号、姓名、年龄和性别四个字符串,然后比较学号是否与目标学生的学号相同。如果相同,则输出该学生的信息并结束查找。最后,我们关闭文件并返回 0。
阅读全文