如何将结构体数组内容写到文件里,具体代码实现
时间: 2024-03-19 12:45:31 浏览: 21
要将结构体数组写入文件中,你可以使用fprintf函数将结构体数组的各个成员逐一写入文件中。以下是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
struct Loupan {
char name[MAX_LEN];
float price;
float area;
int amount;
int sold;
};
void save_loupan(struct Loupan lou[], int n);
int main(void) {
struct Loupan loupan_list[MAX_LEN];
// 假设有5个楼盘信息需要写入文件中
strcpy(loupan_list[0].name, "楼盘A");
loupan_list[0].price = 10000.0;
loupan_list[0].area = 80.0;
loupan_list[0].amount = 100;
loupan_list[0].sold = 30;
strcpy(loupan_list[1].name, "楼盘B");
loupan_list[1].price = 12000.0;
loupan_list[1].area = 90.0;
loupan_list[1].amount = 80;
loupan_list[1].sold = 50;
strcpy(loupan_list[2].name, "楼盘C");
loupan_list[2].price = 9000.0;
loupan_list[2].area = 75.0;
loupan_list[2].amount = 120;
loupan_list[2].sold = 70;
strcpy(loupan_list[3].name, "楼盘D");
loupan_list[3].price = 8000.0;
loupan_list[3].area = 70.0;
loupan_list[3].amount = 150;
loupan_list[3].sold = 50;
strcpy(loupan_list[4].name, "楼盘E");
loupan_list[4].price = 11000.0;
loupan_list[4].area = 100.0;
loupan_list[4].amount = 90;
loupan_list[4].sold = 60;
save_loupan(loupan_list, 5);
return 0;
}
void save_loupan(struct Loupan lou[], int n) {
FILE *fp;
fp = fopen("loupan.txt", "w");
if (fp == NULL) {
printf("打开文件失败!\n");
exit(1);
}
for (int i = 0; i < n; i++) {
fprintf(fp, "%s %f %f %d %d\n", lou[i].name, lou[i].price, lou[i].area, lou[i].amount, lou[i].sold);
}
fclose(fp);
}
```
在上面的代码中,我们定义了一个名为Loupan的结构体,其中包含了5个成员。我们定义了一个包含5个结构体的数组loupan_list,并将其中的5个元素初始化为不同的楼盘信息。在main函数中,我们调用了save_loupan函数,将loupan_list数组中的所有元素写入文件中。
在save_loupan函数中,我们首先打开了一个名为"loupan.txt"的文件指针fp,并使用了fprintf函数将loupan_list数组中的所有元素逐一写入文件中。最后,我们使用fclose函数关闭文件指针。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)