Hallo
Hey Leute habe eine Liste geschrieben und da hat mir mein
Freund folgende Zeilen gegeben
…
Meine Frage nun was macht dieses istringstream genau!
Ein ‚stringstream‘ ist ein Objekt, das
vorne das übliche (C++)-IO-Stream-Interface
hat (mit >:wink: und hinten in einen String
statt in ein File schreibt (oder liest).
http://www.cplusplus.com/ref/iostream/stringstream/
getline(d_laden,s,’;’);
istringstream puffer1(s); //input string aus der
//Datei laden und in den puffer!
puffer1 >> n_name;
Also ich weiss das ich mit getline aus der Datei ein String
hole und in das Objekt s speichere und dann wird dieser String
in den Speicher n_name abgelegt, so was macht dieses
istringstream nun???
Es kopiert ’ s’ in ein Objekt ‚stringstream‘,
welches dann die Operatoren ‚>>‘ usw. bereithält.
Trotzdem würde ich das nicht (oder nur als
klitzekleine Ausnahme) je in ‚quality code‘
verwenden. Die Iostream-Lib ist IMHO etwas
‚overdesigned‘ und ‚clunky‘
// stdio-Variante:
...
if(fgets(str, sizeof str, DATEI)) {
sscanf(str, "%s", n\_name);
}
Vorteil der Iostreams hier (vs. stdio):
man muss nicht wissen, welchen Datentyp
n_name hat. Aber in 99 von 100 Fällen
weiss man diesen eben
Grüße
CMБ