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
PHPznach vorne
2023-08-27 10:21:051316Durchsuche

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);

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”

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

Input: “Tutorials Point”
Result: “TutorialsPoint”

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

Input: “ ”
Result: 

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;
}

Ausgabe

Aforapple,bforball

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;
}

Ausgabe

Aforapple,bforball

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen