Ich möchte wissen, was ist der Unterschied zwischen Zeichenfolge und Stream in C++, und was ist Stringstream?Was sind die Klassen "string", "stream" und "stringstream" in C++?
Antwort
Sehr informell: Ein String ist eine Sammlung von Zeichen, ein Stream ist ein Werkzeug, um bewegte Daten zu manipulieren. Ein Zeichenfolgenstream ist eine C++ - Klasse, mit der Sie eine Zeichenfolge als Quelle und Ziel von Daten für einen Stream verwenden können.
Auch ... Google ist dein Freund.
Meine Vermutung ist, dass ein stringstream wie ein Iostream ist, aber anstatt in eine Datei zu schreiben oder aus einer Datei zu lesen, schreibt oder liest man aus einer Zeichenfolge.
istream
undostream
: Schnittstellen zu Streaming-Daten (Dateien, Steckdosen, etc.)istringstream
: eineistream
, die einen String wickelt und bietet seinen Inhaltostringstream
: einostream
, die den Inhalt geschrieben spart bis zu es als Zeichenkette
Beispiel:
istringstream datastream("1 2 3");
int val;
datastream >> val;
cout << val << endl; // prints 1
datastream >> val;
cout << val << endl; // prints 2
datastream >> val;
cout << val << endl; // prints 3
ostringstream outstream;
outstream << 1 << "+" << 2 << "=" << 3;
cout << outstream.str() << endl; // prints "1+2=3"
In C und/oder Unix war die grundlegende Metapher die Datei. Standard-out, Standard-in, Netzwerk-Sockets wurden alle mit Dateideskriptoren dargestellt. So können Sie fprintf()
verwenden, um in diese "Dateien" zu schreiben, ohne zu wissen, was wirklich darunter liegt.
Als eine sicherere und kühlere Alternative, präsentierte C++ iostream als die grundlegende Metapher, die fast in die Sprache mit <<
Operator eingebaut ist. Wiederum kann auf Dateien, Strings und (mit Bibliothek) -Netzwerk unter Verwendung von Streams zugegriffen werden, ohne zu wissen, was es ist.
- 1. memorystream - stringstream, string, andere?
- 2. String Stream in C
- 3. Wie konvertiere ich von Stringstream zu String in C++?
- 4. Was sind die gebräuchlichsten Namenskonventionen in C#?
- 5. Wo sind die Klassen int [] und string [] definiert?
- 6. C# - Was sind die Vorteile von "partiellen" Klassen?
- 7. Was sind abstrakte Klassen und abstrakte Methoden?
- 8. Was sind die letzten inneren Klassen?
- 9. Was sind S1 und S2 Klassen?
- 10. String zum float mit stringstream
- 11. std :: stringstream und die Str-Methode
- 12. Was sind die BusinessBase- und BusinessListBase-Klassen im CSLA-Framework?
- 13. C++: Vektor zu stringstream
- 14. Was sind die grundlegenden Unterschiede zwischen Java und C# in Bezug auf innere/lokale/anonyme Klassen?
- 15. C++: Was ist ein Stream
- 16. Stream in String und zurück konvertieren ... was fehlt uns?
- 17. Was sind Entity-Klassen in PHP
- 18. Was sind die C# "Formatierungs" -Standards?
- 19. Was sind die Headerdateien in C?
- 20. Verwendung von stringstream in Ostream-Funktion
- 21. Was sind Schnittstellen und Delegaten in C#?
- 22. Was sind die Unterschiede zwischen Rust `String` und` str`?
- 23. Was sind die Unterschiede zwischen C und C++ Aufrufkonventionen?
- 24. C++ stream in den Speicher
- 25. Welche String-Klassen werden in C++ verwendet?
- 26. Klassen und Basisklassenvererbung in C#
- 27. std :: stringstream mit direktem Ausgangspuffer/String Ergebniszugriff, Vermeidung von Kopien?
- 28. String-Stream in C++ Folge von Worten zu analysieren und Nummern
- 29. Unterschied zwischen strstream und stringstream
- 30. Hat Java eine StringStream-Entsprechung?
Stackoverflow soll eine wiki-ähnliche Ressource an der Spitze vieler Google-Suchen sein. Leute können irgendeine Frage stellen, wenn sie nicht vorher gefragt worden ist. – fluffels