到目前为止,我的功能看起来像这样:
int orderList (struct artikel_t * order_arr, int arr_size_order)
{
struct artikel_t akt_artikel_order;
int icount_order=0;
struct order_list {
int lfd_nr;
int art_nr;
char bezeichner[MAXCHAR];
int bestellmenge;
float preis;
float gesamtpreis;};
struct order_list bestellung[arr_size_order];
while (fread(&akt_artikel_order, akt_artikel_order, arr_size_order, order_arr) < arr_size_order)
{
bestellung[icount_order].lfd_nr=icount_order;
bestellung[icount_order].art_nr=akt_artikel_order[icount_order].art_nr
strcpy(bestellung(icount_count).bezeichner, "akt_artikel_order.bezeichner");
bestellung[icount_order].bestellmenge=(akt_artikel_order[icount_order].min)*4);
bestellung[icount_order].preis=akt_artikel_order[icount_order].preis;
bestellung[icount_order].gesamtpreis=((akt_artikel_order[icount_order].preis)*(akt_artikel_order[icount_order].min)*4);
icount_order++;
}
}
函数 orderList 接收 struct artikel_t 类型数组的第一个元素的地址,该数组在另一个函数中创建并在 orderList 打开之前传递给 main;此数组包含 arr_size_order 元素。然后,函数 orderList 应该创建一个类型为 struct order_list 的新数组。然后用 *orderArray 指向的数据填充数组中每个结构的元素(lfd_nr、art_nr、...)。
稍后我将编写函数的其余部分(将数组发送到有用的标准输出等)。
我的问题: fread 函数是否正确编写,使用 fread a) 从数组读取和 b) 读取结构是否合法?
我希望这是有道理的。