用C语言写段代码,要求实现从文件读入数据作为结构体数据
时间: 2024-03-01 17:53:08 浏览: 24
好的,以下是一个简单的示例代码,可以从文件中读入数据并存储到结构体中:
```c
#include <stdio.h>
#define MAX_NUM 100
struct student {
char name[20];
int age;
float score;
};
int main() {
FILE *fp;
struct student stus[MAX_NUM];
int i, n;
// 打开文件
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("Error: cannot open the file!\n");
return -1;
}
// 读入数据
n = 0;
while (fscanf(fp, "%s %d %f", stus[n].name, &stus[n].age, &stus[n].score) == 3) {
n++;
}
// 输出数据
printf("Read %d records from file:\n", n);
for (i = 0; i < n; i++) {
printf("Name: %s, Age: %d, Score: %.2f\n", stus[i].name, stus[i].age, stus[i].score);
}
// 关闭文件
fclose(fp);
return 0;
}
```
这个示例代码中,我们定义了一个结构体 `student`,用于存储学生的姓名、年龄和成绩。然后在 `main()` 函数中,我们定义了一个结构体数组 `stus[MAX_NUM]`,用于存储从文件中读入的数据。我们首先打开文件 `data.txt`,然后使用 `fscanf()` 函数逐行读入数据,并保存到结构体数组中。最后输出读入的数据,并关闭文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)