使用 C 时,通常需要标记字符串,根据分隔符。 C 函数 strtok() 是标记字符串的常用选项,但它需要 char* 输入,而 std::string 是 C 中的首选字符串类型。本文探讨了在 std::string 上使用 strtok() 的解决方法。
一种方法是使用 istringstream 对象将 std::string 转换为字符流,然后可以通过 strtok() 对其进行标记。例如:
#include <iostream> #include <string> #include <sstream> int main() { std::string myText("some-text-to-tokenize"); std::istringstream iss(myText); std::string token; while (std::getline(iss, token, '-')) { std::cout << token << std::endl; } return 0; }
在此示例中,istingstream iss 是根据 std::string myText 构造的。然后使用 std::getline 函数从流中提取标记,使用分隔符“-”作为分隔符。每个标记都使用 std::cout 打印到控制台。
响应中提到的另一个选项是使用 Boost 库,它提供更灵活的标记化功能。但是,此解决方案需要在系统上安装 Boost 库。
以上是如何在 C 中使用 strtok() 标记 std::string ?的详细内容。更多信息请关注PHP中文网其他相关文章!