ホームページ  >  記事  >  バックエンド開発  >  トークン (「;」) を使用して C std::string を分割するにはどうすればよいですか?

トークン (「;」) を使用して C std::string を分割するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-22 19:29:131001ブラウズ

How to Split a C   std::string Using Tokens (

トークン (";") を使用した C std::string の分割

セミコロン (";") で区切られた単語で構成される文字列があると仮定すると、次のことが目的です。この文字列を個別の単語のベクトルに分割します。

これを実現するには、標準ライブラリ関数を利用できます。 std::getline。これにより、文字列ストリームからデータを読み取り、一連の行として扱うことができます。区切り文字を定義すると、その区切り文字に基づいて文字列を部分文字列に分割するように std::getline に指示できます。

これを行う方法を示すサンプル コードを次に示します。

#include <sstream>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<string> strings;
    istringstream f("denmark;sweden;india;us");
    string s;

    while (getline(f, s, ';')) {
        cout << s << endl;
        strings.push_back(s);
    }

    return 0;
}

この中でコード:

  • 分割を保存するためにベクトル文字列が作成されます
  • 文字列ストリーム f は、セミコロンで区切られた単語を含む入力文字列で初期化されます。
  • while ループ内:

    • getline は次のようになります。区切り文字「;」を使用して呼び出されます。文字列ストリームから次の部分文字列 s を抽出します。
    • 抽出された部分文字列は出力され、文字列ベクトルに追加されます。

このアプローチは、シンプルで「;」などの指定されたトークンを使用して文字列を分割する効率的な方法。

以上がトークン (「;」) を使用して C std::string を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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