How to Iterate through a String word by word in C++
Given a String comprising of many words separated by space, the task is to iterate over these words of the string in C++.
Example:
Input: str = {“GeeksforGeeks is a computer science portal for Geeks”};
Output:
GeeksforGeeks
is
a
computer
science
portal
for
GeeksInput: str = {“Geeks for Geeks”};
Output:
Geeks
for
Geeks
Approach: istringstream class is best suitable for this purpose. When a string is given split by whitespace, this class can be used to easily fetch and use each word of the String.
Syntax:
string str = {"Geeks for Geeks"}; istringstream iss(str);
Below is the implementation of the above approach:
// C++ program to Iterate through // a String word by word #include <iostream> #include <sstream> #include <string> using namespace std; // Driver code int main() { // Get the String string str = "GeeksforGeeks is a computer " "science portal for Geeks" ; // Initialise the istringstream // with the given string istringstream iss(str); // Iterate the istringstream // using do-while loop do { string subs; // Get the word from the istringstream iss >> subs; // Print the word fetched // from the istringstream cout << subs << endl; } while (iss); return 0; } |
Output:
GeeksforGeeks is a computer science portal for Geeks