【发布时间】:2018-02-21 14:23:35
【问题描述】:
我正在尝试使用 sscanf 解析一个 ascii 字符串。字符串如下所示:
"Param1","Param2","","Param4"
问题是可能有一个 Param3 但不能保证。我也对 Param3 不感兴趣,但必须为它做好准备,以防它出现。
我正在通过以下方式解析参数:
char ParamStr[] = "\"Param1\",\"Param2\",\"\",\"Param4\"";
char Param1[10];
char Param2[10];
char Param4[10];
sscanf(ParamStr, "\"%[^\"]\", \"%[^\"]\", \"%*[^\"]\", \"%[^\"]\"", Param1, Param2, Param4);
但是当我解析 Param3 时,我得到的 Param4 的结果不正确。
处理像 Param3 这样的“动态”参数的正确方法是什么?
【问题讨论】:
-
可能不是
sscanf()的理想任务。 -
在逗号之间进行解析是个好主意,而且效果很好。谢谢。