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

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 がヌル文字を含まないかぎり、トークンはヌル文字では区切られません。