www.mikrocontroller.net

Forum: PC-Programmierung C++ iostream und string


Autor: Be Mi (bemi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Verständnisproblem mit C++ iostream.
  long size;
  string s1,s2,s3,s;
  s1="0123456789\nabcdefghij\nabc";
  s2="abcdefghij";


  ostringstream out;
  istringstream in;
  in.str(s1);
  s1="jk";
  out.str(s2);

  in.seekg(0, ios::end);
  size = in.tellg();
  in.seekg(0, ios::beg);



  while (in.tellg()<size) {
  getline(in, s);
  out << s << "\n";
  out.flush();
  }
  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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.