Supprimer des espaces d'une chaîne à l'aide de Stringstream

La solution pour supprimer les espaces d'une chaîne est déjà publiée ici . Dans cet article une autre solution utilisant flux de chaînes est discuté.

Algorithme:  

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

Programme 1 : En utilisant 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  ;   }   

Sortir
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode 

Complexité temporelle : O(n) où n est la longueur de la chaîne
Espace auxiliaire : Sur)

Programme 2 : En utilisant obtenir la ligne() . 

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   

Sortir
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode 

Complexité temporelle : O(n) 
Espace auxiliaire : O(n)