Click here to Skip to main content
Click here to Skip to main content

String Tokenizer Class in C++

, 2 Nov 2001 CPOL
Rate this:
Please Sign up or sign in to vote.
As C++ doesn't have Java Equivalent StringTokenizer class, I have implemented the class for my own and helps the beginners

Sample Image - String_Tokenizer_Class_in_C__.gif

Introduction

This class helps the user to tokenize the Long string by specifying delimiter. I thought this will be helpful to the programmers who are at beginning stage.

Code Listing

// Constructor that takes 2 arguments 
// first argument is of string type that to be tokenized. 
// second argument is of string type that is used as token separator 
// and default separator is space 
StringTokenizer::StringTokenizer(CString str,CString sep=" ") 
{ 
    index=0; 
    count=0; 
    CString str1=""; 
    for (int i=0;i<str.GetLength() && sep.GetLength()==1;i++) 
    { 
        if(str.GetAt(i)==sep.GetAt(0)) 
        { 
            elements.Add(str1); 
            str1=""; 
        } 
        else 
        { 
            str1+=str.GetAt(i); 
        } 
    } 
    elements.Add(str1); 
    count=elements.GetSize (); 
} 
// Method is used to fetch the tokens. 
CString StringTokenizer::getNextElement() 
{ 
    index++; 
    if(index==count) 
    { 
        throw CString("Index out of Bounds"); 
    } 
    return elements.GetAt(index-1); 
} 
//method used to fetch the count of tokens from the string 
int StringTokenizer::countElements() 
{ 
    return count; 
} 

//fetch the elements at given position 
CString StringTokenizer::elementAt(int index) 
{ 
    if(index>=count ||index<0) 
    { 
        throw CString("Index out of Bounds"); 
    } 
    else 
        return elements.GetAt(index); 
} 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Koundinya
Web Developer
India India
Hi
I am from South India (Hyderabad). Basically I am lover of mathematics which made me to enter computer field. I started learning computer sciences with language B.B.C Basic.
Later I changed my track to C, C++ and Java.

Comments and Discussions

 
SuggestionSimpler way using CString::Tokenize PinmemberElimad3-Oct-14 21:56 
GeneralMessage Removed PinprofessionalManikandan106-Jun-14 21:58 
GeneralMy vote of 3 PinprofessionalManikandan106-Jun-14 21:58 
GeneralMy vote of 1 Pinmembersynne21-Jan-09 20:58 
Generalprecompiled header directive Pinmemberbendigi15-Oct-04 10:43 
GeneralRe: precompiled header directive PinmemberKoundinya11-Dec-04 12:14 
Generalstl simplification PinmemberTemplMetaProg3-Jul-02 12:03 
GeneralRe: stl simplification PinsussBonio17-May-04 8:58 
GeneralRe: stl simplification PinmemberKoundinya11-Dec-04 12:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.141216.1 | Last Updated 3 Nov 2001
Article Copyright 2001 by Koundinya
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid