繁体   English   中英

读取:用C分隔fscanf

[英]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);

输入示例

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

但是我希望代码仅为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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM