我正在使用strtok函数,其第二个参数是分隔符列表。我试图将分隔符设置为逗号后跟一个空格,例如:,(space)
因此我将函数设置为strok(foobar,“,”)。这个问题是现在分隔符是逗号,
或空格(space)
。
我如何克服这个问题,我也不介意使用班级
答案 0 :(得分:2)
我如何克服这个问题
不使用strtok
,它只能用于对带有1个字符分隔符的字符串进行标记,并且由于存在许多缺陷而无论如何都是不明智的。
相反,我认为最简单的解决方案是简单地std::find
您正在寻找的分隔符,并构建一个令牌集合。
答案 1 :(得分:0)
您正在使用错误的工具来完成工作。它不是问题,分隔符是逗号或空间 - 按设计。请改用strstr
。
答案 2 :(得分:0)
您可以使用标准C函数strstr自行搜索分隔符。 考虑到strtok在源字符串中用零字符替换delimeters。