gpt4 book ai didi

c++ - 函数 strtok 中的定界符序列

转载 作者:行者123 更新时间:2023-11-30 04:31:33 27 4
gpt4 key购买 nike

我正在尝试使用 C++ 中的函数 strtok() 获取 token 。当您只使用 1 个分隔符时非常简单,例如:token = strtok(auxiliar,"[,]");。每当函数找到 [,,or] 时,这将切断 auxiliar

我想要的是获取带有一系列分隔符的 token ,例如:[,]使用 strtok 函数可以做到这一点吗?我找不到路。

谢谢!

最佳答案

如果您希望strtok[,] 视为单个 标记,则无法做到这一点。 strtok 始终将您在定界符字符串中传递的任何内容视为单独的 1 字符定界符。

除此之外,无论如何最好不要在 C++ 中使用 strtok。它不可重入(例如,您不能嵌套调用)、类型不安全,并且非常容易以产生严重错误的方式使用。

最简单的解决方案是简单地使用 std::string 在循环中搜索您想要的特定分隔符。如果您需要更复杂的功能,Boost 库中有分词器,我还发布了代码以仅使用标准库进行更全面的分词,here .

我在上面链接的代码也将定界符视为单个字符,但我认为可以按照您希望的方式扩展代码。

关于c++ - 函数 strtok 中的定界符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com