c语言用文件读取结构体内容并 C语言如何筛选出结构体内编号为0000的专业其代码如何打
时间: 2024-01-22 07:18:12 浏览: 75
假设结构体的定义如下:
```c
typedef struct {
char code[5];
char name[20];
} Major;
```
我们可以通过文件读取获取一组 Major 结构体的数组,然后遍历数组,找出 code 字段为 "0000" 的 Major。
代码示例如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char code[5];
char name[20];
} Major;
int main() {
// 打开文件
FILE* fp = fopen("majors.txt", "r");
if (!fp) {
printf("Failed to open file.\n");
return 1;
}
// 读取文件中的 Major 数组
int count = 0;
Major majors[100];
while (fscanf(fp, "%s %s", majors[count].code, majors[count].name) != EOF) {
count++;
}
// 遍历数组,找出 code 为 "0000" 的 Major
for (int i = 0; i < count; i++) {
if (strcmp(majors[i].code, "0000") == 0) {
printf("Code: %s, Name: %s\n", majors[i].code, majors[i].name);
}
}
// 关闭文件
fclose(fp);
return 0;
}
```
其中,假设 majors.txt 文件中的内容格式为:
```
0001 Computer Science
0002 Mathematics
0003 Physics
0004 Chemistry
0005 Biology
```
运行程序后,输出为:
```
Code: 0001, Name: Computer Science
```
阅读全文