编写一个从二进制文件中读取服装信息的函数。c
时间: 2024-10-21 22:17:36 浏览: 21
使用文件流操作二进制文件(文件实训)
5星 · 资源好评率100%
在C语言中,编写一个从二进制文件中读取服装信息的函数,通常会涉及到以下几个步骤:
```c
#include <stdio.h> // 包含文件I/O相关的头文件
// 定义服装结构体,包含必要的字段
typedef struct {
char brand[50]; // 商家名
int size; // 尺码
float price; // 价格
char color[20]; // 颜色
} FashionItem;
// 函数声明,用于从二进制文件读取服装信息
FashionItem read_fashion_from_binary(char* filename) {
FashionItem item;
FILE *fp; // 文件指针
if ((fp = fopen(filename, "rb")) == NULL) { // 打开文件,"rb"表示二进制模式读取
perror("Error opening file"); // 错误处理
return item;
}
fread(&item.brand, sizeof(item.brand), 1, fp); // 读取品牌名称
fread(&item.size, sizeof(int), 1, fp); // 读取尺码
fread(&item.price, sizeof(float), 1, fp); // 读取价格
fread(&item.color, sizeof(item.color), 1, fp); // 读取颜色
fclose(fp); // 关闭文件
return item; // 返回读取的服装信息
}
// 示例调用
int main() {
char filename[] = "fashion_data.bin"; // 假设二进制文件名为fashion_data.bin
FashionItem info = read_fashion_from_binary(filename);
printf("Brand: %s\nSize: %d\nPrice: %.2f\nColor: %s", info.brand, info.size, info.price, info.color);
return 0;
}
```
在这个示例中,我们首先定义了一个服装结构体`FashionItem`,然后编写了一个函数`read_fashion_from_binary`,它打开指定的二进制文件,逐个读取并解析出品牌的字符串、整数大小、浮点价格和字符串颜色。注意,这个例子假设文件的布局是固定的,并且每个字段按照顺序排列。
阅读全文