Removing spaces from a string using Stringstream - GeeksforGeeks

13 Aug, 2021
Solution to removing spaces from a string is already posted here. In this article another solution using stringstream is discussed. 
Algorithm: 
1. Enter the whole string into stringstream.
2. Empty the string.
3. Extract word by word and concatenate to the string.
Program 1: Using EOF. 
CPP
// C++ program to remove spaces using stringstream#include <bits/stdc++.h>using namespace std; // Function to remove spacesstring removeSpaces(string str){    stringstream ss;    string temp;     // Storing the whole string    // into string stream    ss << str;     // Making the string empty    str = "";     // Running loop till end of stream    while (!ss.eof()) {         // Extracting word by word from stream        ss >> temp;         // Concatenating in the string to be        // returned        str = str + temp;    }    return str;} // Driver functionint main(){    // Sample Inputs    string s = "This is a test";    cout << removeSpaces(s) << endl;     s = "geeks for geeks";    cout << removeSpaces(s) << endl;     s = "geeks quiz is awesome!";    cout << removeSpaces(s) << endl;     s = "I love     to     code";    cout << removeSpaces(s) << endl;     return 0;}
Thisisatest
geeksforgeeks
geeksquizisawesome!
Ilovetocode
Program 2: Using getline(). 
CPP
// C++ program to remove spaces using stringstream// and getline()#include <bits/stdc++.h>using namespace std; // Function to remove spacesstring removeSpaces(string str){    // Storing the whole string    // into string stream    stringstream ss(str);    string temp;     // Making the string empty    str = "";     // Running loop till end of stream    // and getting every word    while (getline(ss, temp, ' ')) {        // Concatenating in the string        // to be returned        str = str + temp;    }    return str;}// Driver functionint main(){    // Sample Inputs    string s = "This is a test";    cout << removeSpaces(s) << endl;     s = "geeks for geeks";    cout << removeSpaces(s) << endl;     s = "geeks quiz is awesome!";    cout << removeSpaces(s) << endl;     s = "I   love     to     code";    cout << removeSpaces(s) << endl;     return 0;} // Code contributed by saychakr13
Thisisatest
geeksforgeeks
geeksquizisawesome!
Ilovetocode
This article is contributed by Nishant. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
saychakr13
akshaysingh98088
cpp-string
cpp-stringstream
C Language
C++
Strings
Strings
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Substring in C++
Multidimensional Arrays in C / C++
Left Shift and Right Shift Operators in C/C++
Function Pointer in C
Core Dump (Segmentation fault) in C/C++
Vector in C++ STL
Initialize a vector in C++ (6 different ways)
Inheritance in C++
Map in C++ Standard Template Library (STL)
C++ Classes and Objects