Iterate over the words in a string in C++
In this tutorial, we will learn how to iterate over the words in a string in C++.
A string is a data type in C++ used to store an array of characters. A string is different from a character array and is terminated with a special character ‘\0’. Strings can include letters, words, spaces, numbers, and even special characters. They are often enclosed in double-quotes. Iteration on strings can be done character by character or we can directly iterate words of the string separated by whitespace using the istringstream class of C++.
Iterating over words using the istringstream class in C++
The istringstream is an input stream class to operate on strings. Since a string containing words is separated by whitespaces we can easily fetch the words of that string using this istringstream class of C++. The words which we will get can now be easily operated on for further use.
Below is an example to illustrate the same.
Syntax:
string s=" Welcome to Codespeedy, hope you are coding well!!" isstringstream iss(s);
#include <bits/stdc++.h>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string s = "Welcome to Codespeedy, hope you are coding well !!";
//using istringstream to initialize
//the given string
istringstream i_ss(s);
do {
string sub;
i_ss >> sub;//Get word from class istringstream
//display the word
//retrieved from istringstream
cout << sub << endl;
} while (i_ss);
return 0;
}
Output:
Welcome to Codespeedy, hope you are coding well !!
Code Explanation:
In the above code firstly we are doing the following steps-
- Declaring the string = “Welcome to Codespeedy, hope you are coding well !!”.
- Then, we are declaring and initialize the istringstream class using the original string.
- We are iterating over the string with the help of a do-while loop.
- Finally, displaying the output of the string which is a word-by-word display of the complete string.
Thus, in this article, we have learned to iterate over the string word by word using the istringstream class of C++.
I hope, you find this article worth a read and informative.
Leave a Reply