首页 >后端开发 >C++ >如何使用 strtok 标记 std::string?

如何使用 strtok 标记 std::string?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 02:41:02943浏览

How to tokenize a std::string using strtok?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn