Maison > développement back-end > C++ > le corps du texte

Programme C++ pour supprimer les espaces d'une chaîne à l'aide d'un flux de chaînes

PHPz
Libérer: 2023-08-27 10:21:05
avant
1240 Les gens l'ont consulté

Programme C++ pour supprimer les espaces dune chaîne à laide dun flux de chaînes

Comme mentionné dans la question donnée, nous devons supprimer les espaces de la chaîne à l'aide du flux de chaînes. Comme son nom l'indique, les flux de chaînes convertissent les chaînes en flux. Cela fonctionne de manière similaire à cin en C++. Il est associé à un objet chaîne qui a accès au tampon de chaîne dans lequel il est stocké.

string s =" a for apple, b for ball";
res = solve(s);
Copier après la connexion

À l'aide d'un tampon de chaîne, nous lirons chaque mot un par un et le concaténerons en une nouvelle chaîne, qui sera notre réponse.

REMARQUE - Les flux de type chaîne sont disponibles dans l'en-tête sstream de C++, nous devons donc l'inclure.

Regardons quelques scénarios d'entrée/sortie

En supposant qu'il n'y a pas d'espaces dans l'entrée de la fonction, la sortie sera la même que l'entrée -

Input: “Tutorialspoint”
Result: “Tutorialspoint”
Copier après la connexion

En supposant qu'il n'y a pas d'espaces dans l'entrée de la fonction, le résultat de sortie sera une chaîne sans espaces -

Input: “Tutorials Point”
Result: “TutorialsPoint”
Copier après la connexion

En supposant que l'entrée acceptée par la fonction ne contient que des espaces, cette méthode ne peut pas fournir de résultat en sortie -

Input: “ ”
Result: 
Copier après la connexion

Algorithme

  • Considérez une chaîne d'entrée avec des caractères.

  • Vérifie si la chaîne est vide et supprime tout espace présent dans l'entrée à l'aide du mot-clé stringstream.

  • Ce processus sera terminé jusqu'à ce que le pointeur de flux de chaîne atteigne la fin de la ligne.

  • Si la fin de la ligne de la chaîne est atteinte, le programme se termine.

  • La chaîne mise à jour est renvoyée au résultat de sortie.

Exemple

Par exemple, nous avons une chaîne telle que "a représente une pomme, b représente une balle" et nous devons la convertir en "aforapple, bforball".

Suivez le code détaillé pour supprimer les espaces d'une chaîne d'entrée afin d'en faire un flux de caractères -

#include <iostream>
#include <sstream>
using namespace std;
string solve(string s) {
   string answer = "", temp;
   stringstream ss;
   ss << s;
   while(!ss.eof()) {
      ss >> temp;
      answer+=temp;
   }
   return answer;
}
int main() {
   string s ="a for apple, b for ball";
   cout << solve(s);
   return 0;
}
Copier après la connexion

Sortie

Aforapple,bforball
Copier après la connexion
Copier après la connexion

Exemple (en utilisant getline)

Nous avons une autre façon de résoudre la même requête en C++ en utilisant getline.

#include <iostream>
#include <sstream>
using namespace std;
string solve(string s) {
   stringstream ss(s);
   string temp;
   s = "";
   while (getline(ss, temp, ' ')) {
      s = s + temp;
   }
   return s;
}
int main() {
   string s ="a for apple, b for ball";
   cout << solve(s);
   return 0;
}
Copier après la connexion

Sortie

Aforapple,bforball
Copier après la connexion
Copier après la connexion

Conclusion

Nous voyons qu'en utilisant des flux de chaînes, les chaînes sont stockées dans un tampon et nous pouvons obtenir les chaînes textuellement et les concaténer, en supprimant les espaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!