struct Combo {
float price;
char code[5];
char description[100];
char name[50];
int combo_trans;
} combo, combo1, combo2, combo3, combo4, combo5, csum;
fscanf(cfp, "%5[^:]:%[^:]:%f:%[^\n]\n", combo1.code, combo1.name, &combo1.price, combo1.description);
printf("Code : %s\n",combo1.code);
printf("Name : %s\n",combo1.name);
printf("Price : RM %.2f\n",combo1.price);
printf("Description : %s\n",combo1.description);
输入示例
C0001:午餐套餐A:10.99:汉堡包和饮料
我的输出是:
编码:C0003矿块和饮料
名称:下午茶节电器
价钱:RM 6.99
描述:矿物质和饮料
但是我希望代码只是C0003,请告诉我我到底在哪里做错了?因为过去几天来我一直在努力解决问题。谢谢!
最佳答案
我找到了答案。必须将其初始化为6。谢谢大家的友好评论。
struct Combo {
float price;
char code[6];
char description[100];
char name[50];
int combo_trans;
} combo, combo1, combo2, combo3, combo4, combo5, csum;