<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ausgabestream in String umleiten]]></title><description><![CDATA[<p>Wie kann ich meinen Ausgabestream z.B.</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;blabla&quot; &lt;&lt; zahl &lt;&lt; endl;
</code></pre>
<p>in einen String statt auf den Monitor umleiten?<br />
Also gibt es praktisch sowas wie sprintf für C++ wo ich auch die Formatierungen von cout verwenden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186459/ausgabestream-in-string-umleiten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 18:09:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186459.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Jul 2007 10:04:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:04:33 GMT]]></title><description><![CDATA[<p>Wie kann ich meinen Ausgabestream z.B.</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;blabla&quot; &lt;&lt; zahl &lt;&lt; endl;
</code></pre>
<p>in einen String statt auf den Monitor umleiten?<br />
Also gibt es praktisch sowas wie sprintf für C++ wo ich auch die Formatierungen von cout verwenden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321311</guid><dc:creator><![CDATA[Nimlot]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:04:33 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:13:31 GMT]]></title><description><![CDATA[<p>Du kannst als Ziel der Ausgabe einen beliebigen ostream angeben (an der Stelle, wo dort das cout steht) - also auch einen ostringstream.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321325</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:24:20 GMT]]></title><description><![CDATA[<p>man kann also auch einen stream für nen string erstellen????</p>
<p>hat da mal wer nen link zu ner doku oderso?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321340</guid><dc:creator><![CDATA[hokage]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:24:20 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:27:40 GMT]]></title><description><![CDATA[<p>Ja, kann man - das nennt sich dann (wer hätte das gedacht ;)) <code>stringstream</code> . (für einen ersten Überblick kannst du meinen Magazin-Artikel zur Ein-/Ausgabe durchlesen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321344</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:29:17 GMT]]></title><description><![CDATA[<p>Das heißt, da schreib ich in nen string irgendwas rein oder was? Ist ja cool <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321347</guid><dc:creator><![CDATA[hokage]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 10:34:03 GMT]]></title><description><![CDATA[<p>Ja, wer hätte das gedacht:</p>
<pre><code class="language-cpp">ostringstream buffer;
//schreiben in String-Stream:
buffer&lt;&lt;&quot;bla:&quot;&lt;&lt;4711;

//hol dir den geschriebenen String:
cout&lt;&lt;&quot;geschrieben wurde &quot;&lt;&lt;buffer.str();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1321354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321354</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 09 Jul 2007 10:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 11:02:00 GMT]]></title><description><![CDATA[<p><a href="http://www.cpp-tutor.de/cpp/le06/le06_03.htm" rel="nofollow">http://www.cpp-tutor.de/cpp/le06/le06_03.htm</a><br />
hier ist das ganze auch noch gut erklärt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321380</guid><dc:creator><![CDATA[manixx]]></dc:creator><pubDate>Mon, 09 Jul 2007 11:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 11:21:53 GMT]]></title><description><![CDATA[<p>Gibt es da auch eine einfachere Methode um das ganze in ein char-array zu packen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321410</guid><dc:creator><![CDATA[Nimlot]]></dc:creator><pubDate>Mon, 09 Jul 2007 11:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 11:26:03 GMT]]></title><description><![CDATA[<p>Es gibt noch eine Klasse strstream, aber die ist etwas unhandlicher (vor allem wegen der Frage, wem wann der verwendete Speicher gehört). Besser ist es, du nimmst am Ende den string, den du gefüllt hast, und holst dir sein char-Array:</p>
<pre><code class="language-cpp">ostringstream buffer;
...//reinschreiben
string bufdata=buffer.str();
machwas(bufdata.c_str());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1321415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321415</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 09 Jul 2007 11:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Mon, 09 Jul 2007 19:21:25 GMT]]></title><description><![CDATA[<p>Nimlot schrieb:</p>
<blockquote>
<p>Gibt es da auch eine einfachere Methode um das ganze in ein char-array zu packen?</p>
</blockquote>
<p>Ja gibt es:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;algorithm&gt;    // fill_n
#include &lt;streambuf&gt;

class MemBuf : public std::streambuf
{
public:
    MemBuf( char* von, char* bis )
    {
        setp( von, bis );
    }
};

int main()
{
    using namespace std;
    const size_t N = 200;
    char arr[N];
    fill_n( arr, N, char(0) );  // bei char[] muss man sich um alles selber kümmern

    MemBuf mb( arr, arr + N - 1 );  // '- 1' damit mind. eine Null am Ende erhalten bleibt

    streambuf* const oldSb = cout.rdbuf( &amp;mb );   // Ausgabe von cout auf arr[] umleiten

    // --   irgendein Programm mit Augaben auf cout
    for( int i =9; i&lt; 13; ++i )
        cout &lt;&lt; &quot;Eine Zahl &quot; &lt;&lt; i &lt;&lt; endl;
    // ggf cout.clear() aufrufen, falls arr-overflow

    cout.rdbuf( oldSb );    // Umleitung rückgängig machen

    // Jetzt ist die ganze Ausgabe in 'arr'
    cout &lt;&lt; &quot;/---------------\n&quot; &lt;&lt; arr &lt;&lt; &quot;---------------/&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Frage: was soll das alles im Array? Am besten man ändert den abgeleiteten streambuf (hier MemBuf) gleich so, dass die Ausgabe da landet, wo sie hingehört.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321800</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 09 Jul 2007 19:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabestream in String umleiten on Tue, 10 Jul 2007 06:59:59 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7393">@Werner</a>: Warum selber schreiben - es gibt doch std::strstream <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> (die char*-Version von stringstream)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321963</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Jul 2007 06:59:59 GMT</pubDate></item></channel></rss>