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

Setting strtok delimiter to two characters

本文关键字:两个 字符 strtok 分隔符 设置      更新时间:2023-10-16

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

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

我如何克服这个问题

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

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

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

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