Forum: PC-Programmierung C++ iostream und string


von Be M. (bemi)


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?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.