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

如何在 C 中使用 strtok() 标记 std::string ?

Susan Sarandon
发布: 2024-11-08 16:19:02
原创
722 人浏览过

How can I tokenize a std::string using strtok() in C  ?

使用 strtok() 标记 std::string

使用 C 时,通常需要标记字符串,根据分隔符。 C 函数 strtok() 是标记字符串的常用选项,但它需要 char* 输入,而 std::string 是 C 中的首选字符串类型。本文探讨了在 std::string 上使用 strtok() 的解决方法。

使用 Istringstream 进行标记化

一种方法是使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板