2

你能帮我处理这段代码吗?我的问题是我无法从二进制文件中读取整个结构。(顺便说一句,我完成了编写部分)我在 C 中创建了一个结构

struct inventory
{
    char c_name[30];
    char model[30];
    char color[30];
    float p_price;
    float s_price;
    float profit;
}c_inven[100];

我想做的是阅读它并将其发送到其他功能,该功能将其存储在另一个结构中。这是我用来阅读的代码

fread(&c_inven,sizeof(inventory),1,cars);

我正在使用这个函数调用发送它

sort(c_inven);
*printing[1]*

这个函数头接收它 void sort(struct inventory sort_inven[100]) 但是当我用 for 循环打印值时,它只打印 c_inven[0].xxxxxx 的值,并在我移动到 c_inven 时返回空白。 [1]。

请帮帮我。

4

1 回答 1

0

您的 fread 调用仅读取一个条目。你需要打电话

fread(&c_inven,sizeof(struct inventory),100,cars);

假设您在c_inven指向的地方分配了足够的内存。

此外,如果您检查fread的返回值,它会告诉您它读取了多少条目。

打印c_inven[1]打印那里的任何东西,也许是内存中的下一个变量。

于 2013-04-02T08:42:08.847 回答