【发布时间】:2015-12-01 15:41:53
【问题描述】:
我尝试解析如下字符串:
"12 13 14 16"
数组中的 5 个数字。
我用strtok(string_above, " "),但是strtok()会把这三个空白字符当作一个。我能做些什么来预防它?
【问题讨论】:
-
不使用 strtok。 strtok 会将一系列分隔符视为单个分隔符。
-
改用
strchr()。阅读strchr(3)。您将对标记化有很多控制权。 -
预期的结果是什么?带有
{12, 13, 14, 0, 16}的数组? -
所以真的是三个空格。第一个和最后一个是分隔符,中间的一个是零?这不是一个理智的格式。如果字符串连续只包含两个空格怎么办?
-
即使你可以这样做,我也不推荐。使用空白作为分隔符并同时用作空白不是一件好事,因为它非常模棱两可。