0Pricing
C++ Academy · Lektion

stringstream zur Textanalyse

Verwenden Sie std::stringstream, um Text zu tokenisieren und in typisierte Werte zu parsen

stringstream zur Textanalyse ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein stringstream?

std::stringstream verpackt eine Zeichenkette in eine iostream-Schnittstelle. Lesen und schreiben Sie mit >> und <<, als würden Sie cin oder cout verwenden.

#include <sstream>
std::stringstream ss;

Zeichenketten mit stringstream erstellen

Verwenden Sie ihn, um komplexe Zeichenketten aus verschiedenen Datentypen zu erstellen. Rufen Sie .str() auf, um das Ergebnis abzurufen.

std::stringstream out;
out << "User: " << name << ", Age: " << age;
std::string result = out.str();

Mit stringstream analysieren

Initialisieren Sie ihn mit einer Zeichenkette und extrahieren Sie Werte mit >>. Dabei werden die Werte an Leerraumzeichen in einzelne Tokens aufgeteilt.

std::stringstream in("42 3.14 hello");
int i; double d; std::string s;
in >> i >> d >> s;

Eine Zeile in Tokens einlesen

Kombinieren Sie getline mit einem stringstream, um jeweils eine Zeile in einzelne Tokens aufzuteilen.

std::string line = "1 2 3 4 5";
std::stringstream ss(line);
int n;
while (ss >> n) {
    std::cout << n * n << " ";
}
// 1 4 9 16 25

An einem Trennzeichen aufteilen

Übergeben Sie getline für einen stringstream ein Trennzeichen, um an Kommas, Semikolons oder beliebigen anderen Zeichen aufzuteilen.

std::string csv = "apple,banana,cherry";
std::stringstream ss(csv);
std::string fruit;
while (std::getline(ss, fruit, ',')) {
    std::cout << fruit << "\n";
}

istringstream und ostringstream

Es gibt drei Varianten:

  • std::istringstream — nur zum Lesen
  • std::ostringstream — nur zum Schreiben
  • std::stringstream — zum Lesen und Schreiben

Verwenden Sie aus Gründen der Übersichtlichkeit die am besten passende Variante.

Analysefehler prüfen

Wenn die Extraktion fehlschlägt, etwa wegen eines falschen Typs, setzt der Stream ein Fehlerbit. Prüfen Sie nach der Extraktion !ss oder ss.fail().

std::stringstream ss("not_a_number");
int x;
if (!(ss >> x)) {
    std::cout << "Parse failed";
}

Einen stringstream zurücksetzen

Um einen stringstream wiederzuverwenden, setzen Sie sowohl seinen Zustand als auch seinen Inhalt zurück.

std::stringstream ss;
ss << "first";
ss.str("");        // clear contents
ss.clear();        // clear flags
ss << "second";

Zahl in Zeichenkette umwandeln

Für einfache Umwandlungen ist std::to_string kürzer als ein stringstream.

std::string s = std::to_string(42);   // "42"
std::string p = std::to_string(3.14); // "3.140000"

Zeichenkette ohne Streams in Zahl umwandeln

std::stoi, std::stod und std::stoll analysieren Zahlen aus Zeichenketten und lösen bei ungültigen Eingaben eine Ausnahme aus.

int n = std::stoi("42");
double d = std::stod("3.14");
// std::stoi("xyz") throws std::invalid_argument

C++17 std::from_chars

Für maximale Geschwindigkeit analysiert std::from_chars aus <charconv> Eingaben ohne Ausnahmen oder Speicherreservierungen. Ideal für zeitkritische Codepfade.

Kurze Überprüfung

Welchen Header müssen Sie einbinden, um std::stringstream zu verwenden?

Zusammenfassung

std::stringstream macht aus Zeichenketten Streams, die sich leicht analysieren und formatieren lassen. Kombinieren Sie ihn mit std::getline, um an Trennzeichen aufzuteilen. Für einfache Fälle sollten Sie std::to_string und std::stoi bevorzugen.

Häufig gestellte Fragen

Ist die Lektion „stringstream zur Textanalyse“ kostenlos?

Ja — der vollständige Text von „stringstream zur Textanalyse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „stringstream zur Textanalyse“?

Verwenden Sie std::stringstream, um Text zu tokenisieren und in typisierte Werte zu parsen Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „stringstream zur Textanalyse“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. std::string und C-Style-Zeichenarrays im Vergleich
  2. Zeichenkettenoperationen: concat, substr, find, replace
  3. stringstream zur Textanalyse
  4. Zeichenkettenkonvertierung: to_string und stoi
← Zurück zu C++ Academy