[英]read : separated fscanf in C
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);
example input 输入示例
C0001:Lunch Deal Set A:10.99:Burger and drink
My output is: 我的输出是:
Code : C0003 Nugget and drink Name : Teatime Saver Price : RM 6.99 Description : Nugget and drink
But I want the Code to be just C0003, please enlighten me where exactly did I do wrong? 但是我希望代码仅为C0003,请告诉我我在哪里做错了? Because I've been trying to get it right the past few days. 因为过去几天来我一直在努力解决问题。 Thank you! 谢谢!
I found the answer. 我找到了答案。 It has to be initialized to 6. Thank you for the kind comments everyone. 必须将其初始化为6。谢谢大家的友好评论。
struct Combo {
float price;
char code[6];
char description[100];
char name[50];
int combo_trans;
} combo, combo1, combo2, combo3, combo4, combo5, csum;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.