Heim > Backend-Entwicklung > C++ > C++-Programm zum Entfernen von Leerzeichen aus Strings mithilfe des String-Streams

C++-Programm zum Entfernen von Leerzeichen aus Strings mithilfe des String-Streams

PHPz
Freigeben: 2023-08-27 10:21:05
nach vorne
1370 Leute haben es durchsucht

C++-Programm zum Entfernen von Leerzeichen aus Strings mithilfe des String-Streams

Wie in der gegebenen Frage erwähnt, müssen wir mithilfe des String-Streams Leerzeichen aus der Zeichenfolge entfernen. Wie der Name schon sagt, konvertieren String-Streams Strings in Streams. Es funktioniert ähnlich wie cin in C++. Es ist einem String-Objekt zugeordnet, das Zugriff auf den String-Puffer hat, in dem es gespeichert ist.

string s =" a for apple, b for ball";
res = solve(s);
Nach dem Login kopieren

Mit einem String-Puffer lesen wir jedes Wort einzeln und verketten es zu einem neuen String, der unsere Antwort sein wird.

HINWEIS – Stringartige Streams sind im Sstream-Header von C++ verfügbar, daher müssen wir sie einbinden.

Schauen wir uns einige Eingabe-/Ausgabeszenarien an

Angenommen, die Eingabe der Funktion enthält keine Leerzeichen, ist die Ausgabe dieselbe wie die Eingabe -

Input: “Tutorialspoint”
Result: “Tutorialspoint”
Nach dem Login kopieren

Angenommen, die Eingabe der Funktion enthält keine Leerzeichen, dann ist das Ausgabeergebnis eine Zeichenfolge ohne Leerzeichen -

Input: “Tutorials Point”
Result: “TutorialsPoint”
Nach dem Login kopieren

Angenommen, dass die von der Funktion akzeptierte Eingabe nur Leerzeichen enthält, kann diese Methode kein Ausgabeergebnis liefern -

Input: “ ”
Result: 
Nach dem Login kopieren

Algorithmus

  • Stellen Sie sich eine Eingabezeichenfolge mit Zeichen vor.

  • Überprüft, ob die Zeichenfolge leer ist, und entfernt mithilfe des Schlüsselworts stringstream alle in der Eingabe vorhandenen Leerzeichen.

  • Dieser Vorgang wird abgeschlossen, bis der String-Stream-Zeiger das Ende der Zeile erreicht.

  • Wenn das Zeilenende der Zeichenfolge erreicht ist, wird das Programm beendet.

  • Die aktualisierte Zeichenfolge wird an das Ausgabeergebnis zurückgegeben.

Beispiel

Zum Beispiel haben wir eine Zeichenfolge wie „a steht für Apfel, b steht für Ball“ und müssen sie in „aforapple,bforball“ umwandeln.

Folgen Sie dem detaillierten Code, um Leerzeichen aus einer Zeichenfolgeneingabe zu entfernen und daraus einen Zeichenstrom zu machen -

#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;
}
Nach dem Login kopieren

Ausgabe

Aforapple,bforball
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel (mit getline)

Wir haben eine andere Möglichkeit, dieselbe Abfrage in C++ zu lösen, indem wir getline verwenden.

#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;
}
Nach dem Login kopieren

Ausgabe

Aforapple,bforball
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

Wir sehen, dass bei Verwendung von String-Streams die Strings in einem Puffer gespeichert werden und wir die Strings wörtlich abrufen und verketten können, indem wir Leerzeichen entfernen.

Das obige ist der detaillierte Inhalt vonC++-Programm zum Entfernen von Leerzeichen aus Strings mithilfe des String-Streams. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage