【发布时间】:2010-07-30 21:36:03
【问题描述】:
我的应用程序生成如下字符串。我需要将分隔符之间的值解析为单个值。
2342|2sd45|dswer|2342||5523|||3654|Pswt
我正在使用strtok 循环执行此操作。对于第五个标记,我得到 5523。但是,我还需要考虑两个分隔符 || 之间的空值。根据我的要求,5523 应该是第六个令牌。
token = (char *)strtok(strAccInfo, "|");
for (iLoop=1;iLoop<=106;iLoop++) {
token = (char *)strtok(NULL, "|");
}
有什么建议吗?
【问题讨论】:
-
strtok() 可以说是 C 标准中最糟糕的事情。您可以编写自己的解析器。