查看: 433  |  回复: 1

风开始的地方

金虫 (小有名气)

[求助] [求助]关于fscanf的应用

Bit8 ReadParameter_GCODEPROCESS(FILE *fp, GCODEPROCESSTITEM *pElement)
{
        //"序号", "物理变量名称","数据类型","当前值","默认值","最大值","最小值"
       
        if( !fp || !pElement)
                return 0;
        Bit8 bRet;
       
        fscanf(fp, "%d,", &pElement->id); //参数编号
        fscanf(fp, "%s, ", pElement->sName); //参数变量名称
        fscanf(fp, "%d,", &pElement->bType); //数据类型
       
        if( pElement->bType == DTYPE_INTEGER)
                fscanf(fp, "%d,", &pElement->data_value.i); //当前值
        else //浮点型
                fscanf(fp, "%.4f,", &pElement->data_value.f); //当前值
       
        if( pElement->bType == DTYPE_INTEGER)
                fscanf(fp, "%d,", &pElement->def_value.i); //缺省值
        else //浮点型
                fscanf(fp, "%.4f,", &pElement->def_value.f); //缺省值
       
        if( pElement->bType == DTYPE_INTEGER)
                fscanf(fp, "%d,", &pElement->max_value.i); //最大值
        else //浮点型
                fscanf(fp, "%.4f,", &pElement->max_value.f); //最大值
       
        if( pElement->bType == DTYPE_INTEGER)
                fscanf(fp, "%d", &pElement->min_value.i); //最小值
        else //浮点型
                fscanf(fp, "%.4f", &pElement->min_value.f); //最小值
       
        fscanf(fp, "%c", &bRet); //换行符
       
        return 1;
}
调用的地方
ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nSubsection);
ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nAirValveClose);
ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nOriginalPoint);
ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nFstWorkStPoint);
ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nPrincipalAxis)ReadParameter_GCODEPROCESS(fp, &gCodeProcess.m_nFirstPowerOn);

变量定义地方

#define HRG_PARANAME_STR_LEN   64

typedef struct tagGCODEPROCESS_ITEM                // 定义参数的编号、物理量名称、值;用于参数管理
{       
        uBit32 id;        //参数编号       

        ParamValue data_value;  //当前值
        ParamValue def_value;   //缺省值
        ParamValue max_value;        //最大值
        ParamValue min_value;        //最小值
       
        Bit8 sName[HRG_PARANAME_STR_LEN];// 参数物理量名称
        Bit8 bType;                                                 //数据类型

}GCODEPROCESSTITEM;

typedef struct tagGCODEPROCESS  // 加工工艺内容的参数值
{
        GCODEPROCESSTITEM m_nSubsection;                                GCODEPROCESSTITEM m_nAirValveClose;                        GCODEPROCESSTITEM m_nOriginalPoint;                        GCODEPROCESSTITEM m_nFstWorkStPoint;                        GCODEPROCESSTITEM m_nPrincipalAxis;                                GCODEPROCESSTITEM m_nFirstPowerOn;
               
}GCODEPROCESS;

GCODEPROCESS  gCodeProcess;


       
我用上面的函数读取数据,但是出现有些能读取,有些不能读取,
求大家帮助
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stxiahu

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
建议全部用%s形式读取,然后用atof或者atoi转换成需要的数据类型试试。
2楼2013-03-16 20:40:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 风开始的地方 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 8/400 2026-10-12 18:09 by wangyl_123
[硕博家园] 极限拉扯,如何抉择 +5 Isak0320 2026-10-12 7/350 2026-10-12 18:03 by 有人要害朕
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +5 13108017953 2026-10-08 5/250 2026-10-10 11:15 by wdwd123
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见