【发布时间】:2015-02-06 09:12:09
【问题描述】:
我在使用 C 中的 struct 时遇到问题,有人可以帮忙吗?我是 C 和结构的新手,所以请善待我。我在下面声明了两个结构,其中一个嵌套在另一个内部。
struct orders_tag {
int number_of_orders;
char item_name[20];
int price;
};
typedef struct orders_tag order;
struct customer_tag {
char name[30];
order total_order[10];
};
typedef struct customer_tag customer;
我也在 main 中初始化了这些值。
customer cus_array[20];
customer c;
我正在尝试从文件中读取信息并将这些值放入我的嵌套结构中,但我真的不明白这里发生了什么。任何解释将不胜感激。
infile = fopen("input.txt", "r");
if (infile == NULL) {
printf("Couldn't open the fire.");
return 1;
}
while (fscanf(infile, "%s %d %s %2f", c.name, c.total_order.number_of_orders
, c.total_order.item_name, c.total_order.price) != EOF) {
}
我相信我得到的唯一错误来自 while 循环条件。
【问题讨论】:
-
total_order是一个数组。所以这个c.total_order.item_name和这个c.total_order.price不会编译。 -
谢谢,我想我会制作一些本地临时变量并将文件中的值放入这些临时变量中,然后从那里手动初始化结构。
标签: c arrays file-io struct format-specifiers