C++ iostream und string

#734782
Lesenswert?

Ich habe ein Verständnisproblem mit C++ iostream.
1
  long size;
2
  string s1,s2,s3,s;
3
  s1="0123456789\nabcdefghij\nabc";
4
  s2="abcdefghij";
5

6

7
  ostringstream out;
8
  istringstream in;
9
  in.str(s1);
10
  s1="jk";
11
  out.str(s2);
12

13
  in.seekg(0, ios::end);
14
  size = in.tellg();
15
  in.seekg(0, ios::beg);
16

17

18

19
  while (in.tellg()<size) {
20
  getline(in, s);
21
  out << s << "\n";
22
  out.flush();
23
  }
24
  s2=out.str();

Dieses Beispiel ist zwar nicht besonders sinnvoll, aber was ich 
eigentich will ist folgendes. In der Zeile
in.str(s1);
soll der String als input stream verwendet werden. Wie es aussieht, wird 
dabei der Inhalt von S1 in das Object "in" kopiert. Zumindest ändert 
sich nichts am in-stream, wenn ich S1 überschreibe.
Gleiches in andere Richtung.
out.str(S2);
auch wenn ich was nach out schreibe
out << "hallo";
kann ich das nicht in der Variable S2 sehen. Erst wenn ich
S2=out.str();
aufrufe, wird der stream Inhalt von out nach S2 kopiert.

Nun meine Frage: Ist es möglich, die Variablen direkt als Stream Buffer 
zu verwenden? Ich meine, dass ich in der Variable S2 immer den aktuellen 
Inhalt von "out" sehe?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren