Removing spaces from a string using Stringstream


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to remove spaces using stringstream
#include <bits/stdc++.h>
using namespace std;
  
// Function to remove spaces
string 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 function
int 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 awsome!";
    cout << removeSpaces(s) << endl;
  
    s = "I love     to     code";
    cout << removeSpaces(s) << endl;
  
    return 0;
}

chevron_right


Output:

Thisisatest
geeksforgeeks
geeksquizisawsome!
Ilovetocode

Program 2: Using getline().



filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to remove spaces using stringstream
// and getline()
#include <bits/stdc++.h>
using namespace std;
  
// Function to remove spaces
string 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 function
int 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 awsome!";
    cout << removeSpaces(s) << endl;
  
    s = "I   love     to     code";
    cout << removeSpaces(s) << endl;
  
    return 0;
}
  
// Code contributed by saychakr13

chevron_right


Output:

Thisisatest
geeksforgeeks
geeksquizisawsome!
Ilovetocode

This article is contributed by Nishant. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@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.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.




My Personal Notes arrow_drop_up

Improved By : saychakr13