Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWWTokenizer

バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.

## RWWTokenizer

### 形式

      #include <rw/wtoken.h>
      RWWString str("a string of tokens", RWWString::ascii);
      RWWTokenizer(str);  // 上記文字列をトークンに分解する

### 説明

  このクラスは、任意の "空白" で区切られた、文字列をトークンに分解します。これは、文字列の反復子とも、また文字列をトークンに分解することによる副作用を持つ C ライブラリ関数 `wstok()` の代わりとも考えられます。

### 持続性

  なし

### 例

      #include <rw/wtoken.h>
      #include <rw/rstream.h>

      main(){
        RWWString a(L"Something is rotten in the state of Denmark");

        RWWTokenizer next(a);   // 文字列 a をトークンに分解する

        RWWString token;        // 各トークンを受け取る

        // NULL 文字列が返ってくるまで繰り返す
        while (!(token=next()).isNull())
          cout << token << "\n";
      }

  #### プログラム出力:

          Something
          is
          rotten
          in
          the
          state
          of
          Denmark

### 公開コンストラクタ

      RWWTokenizer(const RWWString& s);

    文字列 `s` をトークンに分解するトークナイザを作成します。

### 公開メンバー関数

      RWWSubString
      operator();

    次のトークンに進み、それを部分文字列として返します。トークンは、`L" \t\n\0"` 内の 4 つのワイド文字 (空白、タブ、改行、ヌル) のどれかで区切られています。

      RWWSubString
      operator()(const wchar_t* s);

    次のトークンに進み、それをワイド部分文字列として返します。トークンは、`s` 内のワイド文字列か、ワイドヌル文字で区切られています。

      RWWSubString
      operator()(const wchar_t* s,size_t num);

    次のトークンに進み、それを部分文字列として返します。トークンは、`s` 内の最初の `num` ワイド文字のどれかで区切られています。バッファ `s` にはワイド文字列中のワイドヌル文字が含まれる場合があり、少なくとも `num` ワイド文字を含まなければなりません。`s` がワイドヌル文字を含まないかぎり、トークンはワイドヌル文字によっては区切られません。