链表:11-保存文件 函数原型:int save_to_file(GoodsList *L) 将当前链表所有的商品信息保存到文件 goodsinfo.txt 中,其中L为指向链表头结点的指针,保存成功后,该函数返回商品的数量。
时间: 2024-12-24 15:31:21 浏览: 9
在C语言中,如果你有一个 GoodsList 结构体表示商品列表,每个节点包含商品信息,那么可以按照以下步骤编写 `save_to_file` 函数来保存所有商品到名为 "goodsinfo.txt" 的文本文件中:
```c
#include <stdio.h>
#include <stdlib.h>
// 假设 GoodsList 节点结构如下
typedef struct {
char name[50];
int price;
// 其他商品信息...
} Goods;
// 商品列表结点
typedef struct GoodsListNode {
Goods info;
struct GoodsListNode* next;
} GoodsListNode;
// 用于保存商品到文件
int save_to_file(GoodsListNode* L) {
if (!L) {
return 0; // 如果链表为空,直接返回0
}
FILE* file = fopen("goodsinfo.txt", "w"); // 打开文件,若不存在则创建
if (file == NULL) {
printf("Failed to open the file!\n");
return -1;
}
// 遍历链表并逐行写入文件
int count = 0;
while (L != NULL) {
fprintf(file, "%s %d\n", L->info.name, L->info.price);
L = L->next;
count++;
}
fclose(file); // 关闭文件
return count; // 返回商品总数
}
阅读全文