使用 strtok 标记 std::string
使用 strtok 标记 std::string 需要将其转换为 char兼容性。但是,尝试使用 str.c_str() 会产生 const char 类型,该类型不适合 strtok。
一种解决方案是使用 istringstream 对象,它允许您将字符串视为一系列标记。下面是一个示例:
#include <iostream> #include <string> #include <sstream> int main() { std::string myText("some-text-to-tokenize"); std::istringstream iss(myText); std::string token; // Use getline() to extract tokens separated by '-' while (std::getline(iss, token, '-')) { std::cout << token << std::endl; } return 0; }
或者,考虑使用 Boost C 库,它提供额外的字符串操作和标记化函数,从而提供更大的灵活性和控制力。
以上是如何使用 strtok 标记 std::string?的详细内容。更多信息请关注PHP中文网其他相关文章!