ホームページ >バックエンド開発 >C++ >strtokを使用してstd::stringをトークン化するにはどうすればよいですか?

strtokを使用してstd::stringをトークン化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 02:41:02942ブラウズ

How to tokenize a std::string using strtok?

strtok を使用して std::string をトークン化する

strtok を使用して std::string をトークン化するには、それを char に変換する必要があります互換性。ただし、str.c_str() を使用しようとすると、const char 型になり、strtok には適していません。

解決策の 1 つは、文字列を次のように扱うことができる isstringstream オブジェクトを使用することです。トークンのシーケンス。以下に例を示します。

#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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。