0

我正在使用strtok函数,其第二个参数是分隔符列表。我正在尝试将分隔符设置为逗号后跟空格,例如:,(space)因此我将函数设置为 strok(foobar,", ") 。这个问题是现在分隔符是逗号,或空格(space)

我如何克服这个问题,我也不介意使用类

4

3 回答 3

2

我如何克服这个问题

通过不使用strtok, 它只能用于标记带有 1 个字符分隔符的字符串,并且由于它的许多陷阱而无论如何都是不明智的。

相反,我认为最简单的解决方案是简单地std::find使用您正在寻找的分隔符,并构建一个标记集合。

于 2013-11-08T14:24:28.617 回答
0

您为这项工作使用了错误的工具。分隔符是逗号空格不是问题——这是设计使然。改为使用。strstr

于 2013-11-08T14:22:59.180 回答
0

您可以使用标准 C 函数 strstr 自己搜索分隔符。考虑到 strtok 用源字符串中的零字符替换分隔符。

于 2013-11-08T14:25:33.903 回答