读:C中分隔的fscanf

时间:2017-10-22 16:10:46

标签: 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);

示例输入

C0001:Lunch Deal Set A:10.99:Burger and drink

我的输出是:

Code  : C0003 Nugget and drink
Name     : Teatime Saver
Price    : RM 6.99
Description    :  Nugget and drink

但我希望Code只是C0003,请赐教我哪里做错了?因为过去几天我一直在努力做到这一点。谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了答案。它必须初始化为6.感谢大家的好评。

struct Combo { 
    float price;    
    char code[6];
    char description[100];
    char name[50];  
    int combo_trans;    

} combo, combo1, combo2, combo3, combo4, combo5, csum;
相关问题