zoukankan      html  css  js  c++  java
  • UGOPEN实现解析NX表达式

    UGOPEN函数UF_MODL_dissect_exp_string可以解析表达式,但是当表达式存在附注信息时,会将附注信息附加在 rhs_str上,例如:

    这样,当单独获取附注信息时还需要拆分字符串,比较麻烦.其次该函数封装的不好,需要传入表达式TAG和表达式字符串,明显多此一举

    针对此问题,我重新封装了一个方法,可以根据表达式TAG,单独获取表达式名称,内容以及附注信息,仅供参考

    void UF_MODL_dissect_exp_string_ex(tag_t expTag, char** lhs_str, char** rhs_str, char** comment)
    {
        if ((NULL_TAG == expTag) || (NULL == lhs_str) || (NULL == rhs_str) || (NULL == comment))
        {
            return ;
        }
    
        char* expStr = NULL;
        UF_MODL_ask_exp_tag_string(expTag, &expStr);
    
        size_t size = strlen(expStr) + 1;
        
        *lhs_str = (char*)malloc(size);
        memset(*lhs_str, 0, size);
        
        *rhs_str = (char*)malloc(size);
        memset(*rhs_str, 0, size);
    
        *comment = (char*)malloc(size);
        memset(*comment, 0, size);
    
        sscanf(expStr, "%[^=]=%[^//]//%s", *lhs_str, *rhs_str, *comment);
    }

    函数用完之后,需要free掉三个变量,假如VS警告sscanf函数unsafe,请在工程配置添加预处理命名_CRT_SECURE_NO_WARNINGS

    作者:快雪
    本文版权归作者所有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    BeanFactory not initialized or already closed
    点击程序不弹出界面,但有后台服务
    python获取一年所有的日期
    keepalived实现高可用
    解决docker镜像pull超时问题
    docker容器的操作
    docker小结
    docker概述
    docker镜像操作
    python批量下载
  • 原文地址:https://www.cnblogs.com/kuaixue/p/13557258.html
Copyright © 2011-2022 走看看