Spaties uit een string verwijderen met Stringstream

De oplossing voor het verwijderen van spaties uit een string is al gepost hier . In dit artikel wordt nog een oplossing gebruikt stringstroom wordt besproken.

Algoritme:  

1. Enter the whole string into stringstream. 2. Empty the string. 3. Extract word by word and concatenate to the string. 

Programma 1: Gebruiken EOF . 

CPP
   // C++ program to remove spaces using stringstream   #include          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 awesome!'  ;      cout      < <     removeSpaces  (  s  )      < <     endl  ;      s     =     'I love to code'  ;      cout      < <     removeSpaces  (  s  )      < <     endl  ;      return     0  ;   }   

Uitvoer
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode 

Tijdcomplexiteit: O(n) waarbij n de lengte van de string is
Hulpruimte: Op)

Programma 2: Gebruiken getline() . 

CPP
   // C++ program to remove spaces using stringstream   // and getline()   #include          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 awesome!'  ;      cout      < <     removeSpaces  (  s  )      < <     endl  ;      s     =     'I love to code'  ;      cout      < <     removeSpaces  (  s  )      < <     endl  ;      return     0  ;   }   // Code contributed by saychakr13   

Uitvoer
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode 

Tijdcomplexiteit: O(n) 
Hulpruimte: O(n)