Tokenizer
You can use the class
RWCTokenizer to break up a string into tokens separated by arbitrary white spaces. Here's an example:
#include <rw/ctoken.h>
#include <rw/cstring.h>
#include <rw/rstream.h>
int main(){
RWCString a("a string with five tokens");
RWCTokenizer next(a);
int i = 0;
// Advance until the null string is returned:
while( !next().isNull() ) i++;
std::cout << i << std::endl;
return 0;
}
Program Output:
5
This program counts the number of tokens in the string. The function call operator for class
RWCTokenizer has been overloaded to mean “advance to the next token and return it as an
RWCSubString,” much like other Essential Tools Module iterators. When there are no more tokens, it returns the null substring. Class
RWCSubString has a member function
isNull() which returns
true if the substring is the null substring. Hence, the loop is broken. See the
SourcePro API Reference Guide entry for
RWCTokenizer for details.