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