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

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

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

## RWCTokenizer

### 形式

      #include <rw/ctoken.h>
      RWCString str("a string of tokens");
      RWCTokenizer(str);  // Lex the above string

### 説明

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

### 持続性

  なし

### 例

      #include <rw/ctoken.h>
      #include <rw/rstream.h>
      main() {
        RWCString a("Something is rotten in the state of Denmark");

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

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

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

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

         Something
         is
         rotten
         in
         the
         state
         of
         Denmark

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

      RWCTokenizer(const RWCString& s);

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

### 公開メンバー演算子

      RWCSubString
      operator();

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

      RWCSubString
      operator()(const char* s);

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

      RWCSubString
      operator()(const char* s,size_t num);

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