将strtok分隔符设置为两个字符

时间:2013-11-08 14:18:30

标签: c++ debugging pointers character

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

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

3 个答案:

答案 0 :(得分:2)

  

我如何克服这个问题

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

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

答案 1 :(得分:0)

您正在使用错误的工具来完成工作。它不是问题,分隔符是逗号空间 - 按设计。请改用strstr

答案 2 :(得分:0)

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