<?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[sprintf für string]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meinem Code muss ich sehr oft formatiert in einen std::string schreiben:</p>
<pre><code class="language-cpp">char errorDescr[200];
sprintf_s(errorDescr, 200,&quot;Error: %s %i\n&quot;, shaderError-&gt;GetBufferPointer(), cnt);
error = errorDescr;
</code></pre>
<p>error ist ein std::string. Im Moment mache ich das wie man sieht über den Umweg eines c-Arrays und sprintf_s. Ich finde das aber recht lästig und würde das gerne in einem Einzeiler oder so abfertigen.<br />
Irgendwie sowas in der Art:</p>
<pre><code class="language-cpp">std::string s;
s.writeFormated(&quot;foo %i %s\n&quot;, moep, var);
</code></pre>
<p>Gibts da irgendwas fertiges in C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245615/sprintf-für-string</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 16:27:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245615.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Jul 2009 11:13:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:13:11 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meinem Code muss ich sehr oft formatiert in einen std::string schreiben:</p>
<pre><code class="language-cpp">char errorDescr[200];
sprintf_s(errorDescr, 200,&quot;Error: %s %i\n&quot;, shaderError-&gt;GetBufferPointer(), cnt);
error = errorDescr;
</code></pre>
<p>error ist ein std::string. Im Moment mache ich das wie man sieht über den Umweg eines c-Arrays und sprintf_s. Ich finde das aber recht lästig und würde das gerne in einem Einzeiler oder so abfertigen.<br />
Irgendwie sowas in der Art:</p>
<pre><code class="language-cpp">std::string s;
s.writeFormated(&quot;foo %i %s\n&quot;, moep, var);
</code></pre>
<p>Gibts da irgendwas fertiges in C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744049</guid><dc:creator><![CDATA[stringer]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:13:11 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:14:53 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-245524.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-245524.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744051</guid><dc:creator><![CDATA[hosenscheisser]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:14:53 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:16:18 GMT]]></title><description><![CDATA[<p>Stringstreams.</p>
<pre><code class="language-cpp">std::stringstream errorstream;
errorstream &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n';
std::string error = errorstream.str();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1744054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744054</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:18:21 GMT]]></title><description><![CDATA[<p>stringer schrieb:</p>
<blockquote>
<p>Gibts da irgendwas fertiges in C++?</p>
</blockquote>
<p>Nein, aber wir hatten das Thema gerade:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-245524.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-245524.html</a></p>
<p><em>Edit:</em> Über zwei Minuten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744058</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:18:21 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:26:45 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
</blockquote>
<p>In der Tat seh ich da jetzt keine Verbesserung. Ich hätte schon gerne die flexiblen Möglichkeiten von printf(). Diese stringstream Syntax is ja doch recht frickelig/geschwätzig (wenn ich zb. Einen float auf 5 Stellen mit 2 Nachkommastellen ausgeben will etc. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744074</guid><dc:creator><![CDATA[stringer]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:33:55 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
</blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744081</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:35:12 GMT]]></title><description><![CDATA[<p>stringer schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
</blockquote>
<p>In der Tat seh ich da jetzt keine Verbesserung. Ich hätte schon gerne die flexiblen Möglichkeiten von printf(). Diese stringstream Syntax is ja doch recht frickelig/geschwätzig (wenn ich zb. Einen float auf 5 Stellen mit 2 Nachkommastellen ausgeben will etc. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
</blockquote>
<p>Wenns nur ums ausgeben geht, nimm einfach cout und reihe es hintereinander. Für cout gibt es auch manipulatoren je nach dem wie viel stellen du willst:</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Mein Hund ist &quot; &lt;&lt; 13 &lt;&lt; &quot; Jahre alt!&quot; &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1744083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744083</guid><dc:creator><![CDATA[Hossenscheisser]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:36:10 GMT]]></title><description><![CDATA[<p>stringer schrieb:</p>
<blockquote>
<p>frickelig/geschwätzig</p>
</blockquote>
<p>.../typunsicher/bufferüberlaufanfällig/formatvertipperanfällig/unlesbar bei größeren Ausgaben/...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744085</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:36:10 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:37:15 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
</blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Warum ist denn da ein static_cast von nöten? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744088</guid><dc:creator><![CDATA[Pigeon]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:37:15 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:37:59 GMT]]></title><description><![CDATA[<p>stringer schrieb:</p>
<blockquote>
<p>Ich hätte schon gerne die flexiblen Möglichkeiten von printf().</p>
</blockquote>
<p>Dann nimm sie und arbeite mit C-Strings. Nimm aber auch die damit verbundenen Probleme in Kauf und wundere dich nicht bei merkwürdigem Programmverhalten.</p>
<p>PS: Jaja, Hauptsache, wir entfachen den beliebten &quot;C-Funktionen vs C++-Streams&quot;-Flamewar ein weiteres Mal. <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/1744090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744090</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:39:10 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>stringer schrieb:</p>
<blockquote>
<p>Ich hätte schon gerne die flexiblen Möglichkeiten von printf().</p>
</blockquote>
<p>Dann nimm sie und arbeite mit C-Strings. Nimm aber auch die damit verbundenen Probleme in Kauf und wundere dich nicht bei merkwürdigem Programmverhalten.</p>
</blockquote>
<p>Könntest du mir das genauer erkläreen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744091</guid><dc:creator><![CDATA[Hossenscheisser]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:39:10 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:40:54 GMT]]></title><description><![CDATA[<p>Pigeon schrieb:</p>
<blockquote>
<p>Warum ist denn da ein static_cast von nöten? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Weil der op&lt;&lt; eine freie Funktion ist, die ein std::ostream&amp; zurückgibt - und std::ostream hat keine str()-Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744094</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:44:37 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>stringer schrieb:</p>
<blockquote>
<p>frickelig/geschwätzig</p>
</blockquote>
<p>.../typunsicher/bufferüberlaufanfällig/formatvertipperanfällig/unlesbar bei größeren Ausgaben/...</p>
</blockquote>
<p>Läßt sich alles vermeiden, sogar automatisch, von der subjektiven Unleserlichkeit abgesehen.</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>PS: Jaja, Hauptsache, wir entfachen den beliebten &quot;C-Funktionen vs C++-Streams&quot;-Flamewar ein weiteres Mal. <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>
</blockquote>
<p>Der Verweis auf den anderen Thread war ja sogar die erste Reaktion. Das Schließen des Threads zu diesem Zeitpunkt hätte nicht geschadet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744097</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:45:15 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
</blockquote>
<p>Ich möchte wetten, das hast Du nicht ausprobiert. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744098</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:45:16 GMT]]></title><description><![CDATA[<p>Hossenscheisser schrieb:</p>
<blockquote>
<p>Könntest du mir das genauer erkläreen?</p>
</blockquote>
<p>Ich habe ehrlich gesagt wirklich nicht Lust, das erneut zu diskutieren. Aber wenn du die Forensuche einsetzt, kannst du einige Threads dazu finden.</p>
<p>In Kürze:</p>
<ul>
<li>Fehlende Typsicherheit durch variable Funktionsargumente, keine Prüfung, ob %-Formatflags auf den richtigen Typen angewandt werden</li>
<li>Keine Unterstützung für Non-PODS (wie hier für <code>std::string</code> )</li>
<li>manuelle Speicherverwaltung und damit Gefahr von Pufferüberläufen</li>
</ul>
<p>Es ist ja nicht so, als wären die C++-Streams das einzig Wahre, die C-Funktionen haben durchaus ihre Berechtigung. Aber man sollte wirklich genau wissen, was man tut, wenn man sie anwendet. Und für sehr viele Fälle finde ich einen einfachen <code>std::stringstream</code> geeigneter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744099</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:49:10 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
</blockquote>
<p>Ich möchte wetten, das hast Du nicht ausprobiert. <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="😉"
    /></p>
</blockquote>
<p>Spielt keine Rolle, weil es geht! :p</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>: Danke ich such mal.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744106</guid><dc:creator><![CDATA[Hossenscheisser]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:52:06 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
</blockquote>
<p>Ich möchte wetten, das hast Du nicht ausprobiert. <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="😉"
    /></p>
</blockquote>
<p>Doch. vc7 schluckts, und ich wüsste auch nicht was daran böse sein soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744114</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:52:49 GMT]]></title><description><![CDATA[<p>Hossenscheisser schrieb:</p>
<blockquote>
<p>Spielt keine Rolle, weil es geht! :p</p>
</blockquote>
<p>Mach ich auch immer so. Code muss nur funktionieren... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744116</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:52:49 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 11:59:55 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Hossenscheisser schrieb:</p>
<blockquote>
<p>Spielt keine Rolle, weil es geht! :p</p>
</blockquote>
<p>Mach ich auch immer so. Code muss nur funktionieren... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Was stimmt daran denn nicht!? Und duchs pure betrachten finde ich auch keine Fehler!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744125</guid><dc:creator><![CDATA[Hossenscheisser]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 12:23:49 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: das ist kein Einzeiler <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="😉"
    /></p>
</blockquote>
<pre><code class="language-cpp">std::string error = static_cast&lt;std::stringstream&amp;&gt;(std::stringstream() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n').str();
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Die Sache hat leider einen kleinen Haken. Benutzerdefinierte Typen funktionieren hier nicht als erstes Argument, da solche freien operator&lt;&lt;-Funktion den Stream als Referenz annehmen und std::stringstream() aber ein temporäres Objekt ist.</p>
<p>Unter Verwendung des kleinen a2str-Hilfsmittels, welches ich im anderen Thread gezeigt hatte, tritt dieses Problem nicht auf. Es ist außerdem auch kürzer:</p>
<pre><code class="language-cpp">std::string error = a2str() &lt;&lt; &quot;Error &quot; &lt;&lt; moep &lt;&lt; ' ' &lt;&lt; var &lt;&lt; '\n';
</code></pre>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744151</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Thu, 16 Jul 2009 12:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to sprintf für string on Thu, 16 Jul 2009 16:02:31 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Doch. vc7 schluckts, und ich wüsste auch nicht was daran böse sein soll.</p>
</blockquote>
<p>Und ich wollte noch an den Beitrag etwas anfügen wie &quot;Achtung: Ich hätte diese Anmerkung nicht gemacht wenn ich nicht wüsste dass dort ein Problem liegt&quot;. Hätte ich mal <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>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Die Sache hat leider einen kleinen Haken. Benutzerdefinierte Typen funktionieren hier nicht als erstes Argument, da solche freien operator&lt;&lt;-Funktion den Stream als Referenz annehmen und std::stringstream() aber ein temporäres Objekt ist.</p>
</blockquote>
<p>Richtig, darauf wollte ich hinaus.</p>
<p>Genauergesagt funktionieren alle freien operator&lt;&lt;(basic_ostream&amp;, ...) hier nicht, sondern nur die in basic_ostream enthaltenen.</p>
<p>Das Beispiel funktioniert also nur (im Sinne von übersetzt und tut was wir erwarten) für skalare Typen und void*, wobei alle anderen Zeiger (auch der C-String) zu void* zerfallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744400</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Jul 2009 16:02:31 GMT</pubDate></item></channel></rss>