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