<?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[std::string und Ersetzungsplatzhalter]]></title><description><![CDATA[<p>Hi...<br />
Bisher war ich mit std::string immer sehr zufrieden, doch jetzt komme ich an eine Stelle, an der die C-Char-Arrays ihre Vorteile zeigen (zumindest meiner Ansicht nach):</p>
<pre><code class="language-cpp">void x(char *pszText, ...)
{
	char szBuffer[128] = { '\0' };

	va_list vaParameters;
	va_start(vaParameters, pszText);
	vsprintf(szBuffer, pszText, vaParameters);
	va_end(vaParameters);

	// tu was mit szBuffer
}

x(&quot;Hallo %s, du bist %i Jahre alt und bist %0.2fm groß!&quot;, &quot;Peter&quot;, 18, 1.85);
</code></pre>
<p>Mit std::string scheint das ganze mehr als nur kompliziert zu sein:</p>
<pre><code class="language-cpp">void x(const std::string &amp;strText)
{
	// tu was mit strText.c_str()
}

std::stringstream strTemp;
strTemp &lt;&lt; &quot;Hallo &quot; &lt;&lt; &quot;Peter&quot; &lt;&lt; &quot;, du bist &quot; &lt;&lt; 18 &lt;&lt; &quot; Jahre alt und bist &quot; &lt;&lt; 1.85 /*einfaches umformen mit %0.2f entfällt*/ &lt;&lt; &quot;m groß!&quot;;
x(strTemp.str());
</code></pre>
<p>Geht das nicht auch einfacher? Am besten wäre natürlich ein Einzeiler.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264576/std-string-und-ersetzungsplatzhalter</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 16:50:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264576.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Apr 2010 13:17:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::string und Ersetzungsplatzhalter on Fri, 09 Apr 2010 13:17:55 GMT]]></title><description><![CDATA[<p>Hi...<br />
Bisher war ich mit std::string immer sehr zufrieden, doch jetzt komme ich an eine Stelle, an der die C-Char-Arrays ihre Vorteile zeigen (zumindest meiner Ansicht nach):</p>
<pre><code class="language-cpp">void x(char *pszText, ...)
{
	char szBuffer[128] = { '\0' };

	va_list vaParameters;
	va_start(vaParameters, pszText);
	vsprintf(szBuffer, pszText, vaParameters);
	va_end(vaParameters);

	// tu was mit szBuffer
}

x(&quot;Hallo %s, du bist %i Jahre alt und bist %0.2fm groß!&quot;, &quot;Peter&quot;, 18, 1.85);
</code></pre>
<p>Mit std::string scheint das ganze mehr als nur kompliziert zu sein:</p>
<pre><code class="language-cpp">void x(const std::string &amp;strText)
{
	// tu was mit strText.c_str()
}

std::stringstream strTemp;
strTemp &lt;&lt; &quot;Hallo &quot; &lt;&lt; &quot;Peter&quot; &lt;&lt; &quot;, du bist &quot; &lt;&lt; 18 &lt;&lt; &quot; Jahre alt und bist &quot; &lt;&lt; 1.85 /*einfaches umformen mit %0.2f entfällt*/ &lt;&lt; &quot;m groß!&quot;;
x(strTemp.str());
</code></pre>
<p>Geht das nicht auch einfacher? Am besten wäre natürlich ein Einzeiler.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1880065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1880065</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Fri, 09 Apr 2010 13:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to std::string und Ersetzungsplatzhalter on Fri, 09 Apr 2010 13:38:26 GMT]]></title><description><![CDATA[<p>theliquidwave schrieb:</p>
<blockquote>
<p>...<br />
Mit std::string scheint das ganze mehr als nur kompliziert zu sein:...</p>
</blockquote>
<p>Mir nicht.<br />
... und sicherer ist es auch noch.</p>
<p>Ich würde also sagen: Ein schönes Beispiel dafür, wo std::string (&amp;Co) seine Stärke ggü. char* ausspielen kann. <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1880075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1880075</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 09 Apr 2010 13:38:26 GMT</pubDate></item><item><title><![CDATA[Reply to std::string und Ersetzungsplatzhalter on Fri, 09 Apr 2010 13:36:18 GMT]]></title><description><![CDATA[<p>Sagen wir so... Formatierungs-Strings haben ihren Vorteil, wenn man die Anwendung Internationalisieren will...</p>
<p>Wenn du magst, kannst du dir mal <a href="http://www.boost.org/doc/libs/1_42_0/libs/format/doc/format.html" rel="nofollow">Boost Format</a> anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1880079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1880079</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 09 Apr 2010 13:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to std::string und Ersetzungsplatzhalter on Fri, 09 Apr 2010 13:36:52 GMT]]></title><description><![CDATA[<p>Ausserdem gibts ja auch noch Formatierungsbibliotheken:<br />
Boost Format oder Fast Format...</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1880081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1880081</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 09 Apr 2010 13:36:52 GMT</pubDate></item></channel></rss>