C++-Standardbibliothek <sstream>

In der C++-Programmierung ist die Konvertierung zwischen Zeichenketten und Zahlen eine häufige Aufgabe.

sstreamist eine Komponente in der C++-Standardbibliothek, die eine bequeme Möglichkeit zur Handhabung von String-Streams bietet (wodurch Zeichenketten wie Streams verarbeitet werden können).

<sstream>Ermöglicht die Verwendung von Zeichenketten als Eingabe-/Ausgabestreams, wodurch das Lesen von Daten aus Zeichenketten oder das Schreiben von Daten in Zeichenketten sehr einfach wird.

Definition

sstreamist ein Namespace in der C++-Standardbibliothek, der mehrere Klassen zur Handhabung von String-Streams enthält, darunter:

  • istringstream: Dient zum Lesen von Daten aus einer Zeichenkette.
  • ostringstream: Dient zum Schreiben von Daten in eine Zeichenkette.
  • stringstream: jaistringstreamundostringstream-Kombination ermöglicht sowohl Lese- als auch Schreiboperationen gleichzeitig.

Syntax

NutzungsstreamDie grundlegende Syntax lautet wie folgt:

#include <sstream>

// 使用istringstream
std::istringstream iss("some data");

// 使用ostringstream
std::ostringstream oss;

// 使用stringstream
std::stringstream ss;

Beispiel

Daten aus einer Zeichenkette lesen

Nachfolgend wird eine Verwendung vonistringstreamBeispiel für das Lesen von Ganzzahlen und Gleitkommazahlen aus einer Zeichenkette:

Beispiel

#include <iostream>
#include <sstream>

int main() {
    std::string data = "10 20.5";
    std::istringstream iss(data);

    int i;
    double d;

    iss >> i >> d;

    std::cout << "Integer: " << i << std::endl;
    std::cout << "Double: " << d << std::endl;

    return 0;
}

Ausgabeergebnis:

Integer: 10
Double: 20.5

Daten in einen String schreiben

Nachfolgend wird eine Verwendung vonostringstreamBeispiel für das Schreiben von Daten in einen String:

Beispiel

#include <iostream>
#include <sstream>

int main() {
    std::ostringstream oss;
    int i = 100;
    double d = 200.5;

    oss << i << " " << d;

    std::string result = oss.str();
    std::cout << "Resulting string: " << result << std::endl;

    return 0;
}

Ausgabeergebnis:

Resulting string: 100 200.5

Verwendung von stringstream für Lese- und Schreiboperationen

Nachfolgend wird eine Verwendung vonstringstreamBeispiel für die gleichzeitige Durchführung von Lese- und Schreiboperationen:

Beispiel

#include <iostream>
#include <sstream>

int main() {
    std::string data = "30 40.5";
    std::stringstream ss(data);

    int i;
    double d;

    // Daten aus stringstream lesen
    ss >> i >> d;

    std::cout << "Ganzzahl lesen: " << i << ", Double: " << d << std::endl;

    // Daten in stringstream schreiben
    ss.str(""); // stringstream leeren
    ss << "Neue Daten: " << 50 << " " << 60.7;

    std::string newData = ss.str();
    std::cout << "Neue Datenzeichenfolge: " << newData << std::endl;

    return 0;
}

Ausgabeergebnis:

Read Integer: 30, Double: 40.5
New data string: New data: 50 60.7

Zusammenfassung

sstreamist eine sehr nützliche Komponente in der C++-Standardbibliothek und vereinfacht die Konvertierung zwischen Zeichenfolgen und grundlegenden Datentypen. Anhand der obigen Beispiele können wir sehen, wie manistringstream、ostringstreamundstringstreamum diese Konvertierungen zu implementieren. Die Beherrschung dieser Fähigkeiten hilft Ihnen, Zeichenfolgendaten in der C++-Programmierung effizienter zu verarbeiten.

Weitere Erweiterungen