<?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[string in string formatieren?]]></title><description><![CDATA[<p>hallo ich suche nach einer Möglichkeit wie ich einen formatierten String erzeugen kann.<br />
Ich habe verschiedene parameter, int, short, strings und daraus möchte ich einen String erzeugen.<br />
Das ganze soll mir wirklich einen string erzeugen keinen char*.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235526/string-in-string-formatieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 02:59:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235526.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Mar 2009 13:00:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string in string formatieren? on Tue, 03 Mar 2009 13:00:52 GMT]]></title><description><![CDATA[<p>hallo ich suche nach einer Möglichkeit wie ich einen formatierten String erzeugen kann.<br />
Ich habe verschiedene parameter, int, short, strings und daraus möchte ich einen String erzeugen.<br />
Das ganze soll mir wirklich einen string erzeugen keinen char*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673421</guid><dc:creator><![CDATA[lord_fritte]]></dc:creator><pubDate>Tue, 03 Mar 2009 13:00:52 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 03 Mar 2009 13:06:14 GMT]]></title><description><![CDATA[<p>Schau dir mal stringstreams an:<br />
<a href="http://cplus.kompf.de/artikel/stream4.html" rel="nofollow">http://cplus.kompf.de/artikel/stream4.html</a></p>
<p>Gruß Kimmi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673426</guid><dc:creator><![CDATA[kimmi]]></dc:creator><pubDate>Tue, 03 Mar 2009 13:06:14 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 03 Mar 2009 13:16:23 GMT]]></title><description><![CDATA[<p>Für aufwändigere Formatierungen im Stile von der printf-Familie schau dir mal boost::format an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673428</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Tue, 03 Mar 2009 13:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 03 Mar 2009 14:26:08 GMT]]></title><description><![CDATA[<p>lord_fritte schrieb:</p>
<blockquote>
<p>Das ganze soll mir wirklich einen string erzeugen keinen char*.</p>
</blockquote>
<p>Wobei das erzeugen eines StingObjektes mit einem char* im Konstruktor jetzt nicht sooooo das Problem ist <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/1673483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673483</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Tue, 03 Mar 2009 14:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Sun, 08 Mar 2009 11:37:55 GMT]]></title><description><![CDATA[<p>It0101 schrieb:</p>
<blockquote>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Das ganze soll mir wirklich einen string erzeugen keinen char*.</p>
</blockquote>
<p>Wobei das erzeugen eines StingObjektes mit einem char* im Konstruktor jetzt nicht sooooo das Problem ist <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>
</blockquote>
<p>Ja schon, aber was ist wenn der puffer nicht ausreicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676042</guid><dc:creator><![CDATA[lord_fritte]]></dc:creator><pubDate>Sun, 08 Mar 2009 11:37:55 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Sun, 08 Mar 2009 11:54:49 GMT]]></title><description><![CDATA[<p>kimmi schrieb:</p>
<blockquote>
<p>Schau dir mal stringstreams an:<br />
<a href="http://cplus.kompf.de/artikel/stream4.html" rel="nofollow">http://cplus.kompf.de/artikel/stream4.html</a></p>
<p>Gruß Kimmi</p>
</blockquote>
<p><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="😃"
    /> <a href="http://cplus.kompf.de/artikel/container.html" rel="nofollow">http://cplus.kompf.de/artikel/container.html</a> Immer die passenden Bildchen, aber warum gibt es hier <a href="http://cplus.kompf.de/artikel/strings.html" rel="nofollow">http://cplus.kompf.de/artikel/strings.html</a> plötzlich keines mehr? <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/1676059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676059</guid><dc:creator><![CDATA[...d]]></dc:creator><pubDate>Sun, 08 Mar 2009 11:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Sun, 08 Mar 2009 15:31:55 GMT]]></title><description><![CDATA[<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ja schon, aber was ist wenn der puffer nicht ausreicht?</p>
</blockquote>
<p>Wie meinst du das genau? Wenn du einen <code>std::string</code> erzeugst, brauchst du dir kaum um die Grösse des Speichers Sorgen zu machen. Falls es wirklich kritisch sein sollte, kannst du immer noch mit <code>max_size()</code> prüfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676184</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 08 Mar 2009 15:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 18:48:15 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ja schon, aber was ist wenn der puffer nicht ausreicht?</p>
</blockquote>
<p>Wie meinst du das genau? Wenn du einen <code>std::string</code> erzeugst, brauchst du dir kaum um die Grösse des Speichers Sorgen zu machen. Falls es wirklich kritisch sein sollte, kannst du immer noch mit <code>max_size()</code> prüfen.</p>
</blockquote>
<p>Ne ich meine wenn ich da smit einem char* machen würde, da könnte ich ja einfach sprintf benutzen.</p>
<p>Wie kann ich eigentlich eine eigene Funktion mit offener parameterliste schreiben?</p>
<p>Gibt es eigentlich eine Funktion mit der ich alles mögliche in einen String konvertieren kann?</p>
<p>also ich stopfe da z.b. einen int, float, double, etc. rein und bekomme diesen als string zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676952</guid><dc:creator><![CDATA[lord_fritte]]></dc:creator><pubDate>Mon, 09 Mar 2009 18:48:15 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 21:08:04 GMT]]></title><description><![CDATA[<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ne ich meine wenn ich da smit einem char* machen würde, da könnte ich ja einfach sprintf benutzen.</p>
</blockquote>
<p>Benutz in C++ besser nicht <code>sprintf()</code> , diese Funktion ist nämlich fehleranfällig und nicht typsicher.</p>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Wie kann ich eigentlich eine eigene Funktion mit offener parameterliste schreiben?</p>
</blockquote>
<p>Davon ist ebenfalls abzuraten (unter anderem auch wegen mangelnder Typsicherheit). In C++ besteht normalerweise kein Anlass zu einer variablen Parameterliste.</p>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Gibt es eigentlich eine Funktion mit der ich alles mögliche in einen String konvertieren kann?</p>
<p>also ich stopfe da z.b. einen int, float, double, etc. rein und bekomme diesen als string zurück.</p>
</blockquote>
<p>Es gibt die Klasse <code>std::stringstream</code> , mit der man bequem formatieren und von Strings zu anderen Typen und zurück umwandeln kann. Auf <a href="http://www.cplusplus.com" rel="nofollow">www.cplusplus.com</a> findest du dazu mehr Informationen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676995</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 09 Mar 2009 21:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 21:12:38 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ne ich meine wenn ich da smit einem char* machen würde, da könnte ich ja einfach sprintf benutzen.</p>
</blockquote>
<p>Benutz in C++ besser nicht <code>sprintf()</code> , diese Funktion ist nämlich fehleranfällig und nicht typsicher.</p>
</blockquote>
<p>Nicht zwingend.</p>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Wie kann ich eigentlich eine eigene Funktion mit offener parameterliste schreiben?</p>
</blockquote>
<p><a href="http://en.wikipedia.org/wiki/Stdarg.h" rel="nofollow">http://en.wikipedia.org/wiki/Stdarg.h</a></p>
<p>Eine überlaufsichere String-Version von sprintf sieht so aus:</p>
<pre><code class="language-cpp">std::string str_printf (const char* format, ...)
{
    using namespace std;

    std::va_list args;
    std::string retval;

    va_start (args, format);
    retval.resize (vsnprintf (0, 0, format, args));
    vsnprintf (&amp;retval[0], retval.size () + 1, format, args);
    va_end (args);

    return retval;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1676997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676997</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 09 Mar 2009 21:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 21:20:50 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Nicht zwingend.</p>
</blockquote>
<p>Doch, fehleranfälliger als <code>std::stringstream</code> ist sie. Das heisst ja nicht, dass man damit zwangsläufig Fehler macht.</p>
<p>Aber warum empfiehlst du ihm solche Sachen, wenn es doch mit <code>std::stringstream</code> so einfach geht? Performance kann ja hier kein Kriterium sein. Auch die variable Parameterliste wird nicht ohne Grund kaum mehr in C++ verwendet. Er wird damit früher oder später Probleme haben, besonders, wenn er noch nicht so gewandt in C++ ist.</p>
<p>Es kann nicht schaden, die beiden Konstrukte zu kennen, aber ohne wirklich guten Grund würde ich sie nicht einsetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676999</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 09 Mar 2009 21:20:50 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 21:26:52 GMT]]></title><description><![CDATA[<p>Und ansonsten wirklich wenn schon Boost.Format verwenden, welches schon von &quot;Tippgeber&quot; empfohlen wurde:<br />
<a href="http://www.boost.org/doc/libs/1_38_0/libs/format/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_38_0/libs/format/index.html</a></p>
<p>Boost.Format unterstützt auch eine Art von variabler Parameterliste. Sie wird einfach über überladene Operatoren erreicht. Das macht sie typsicher, überlaufsicher und es können auch komplexe Objekte übergeben werden.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677001</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 09 Mar 2009 21:26:52 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Mon, 09 Mar 2009 21:51:00 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p>Nicht zwingend.</p>
</blockquote>
<p>Doch, fehleranfälliger als <code>std::stringstream</code> ist sie.</p>
</blockquote>
<p>Das schon, aber nicht grundsätzlich und unbehebbar fehleranfällig und typunsicher. Und es ist ja nicht so, als hätte sprintf keinerlei Vorteile.</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Aber warum empfiehlst du ihm solche Sachen, wenn es doch mit <code>std::stringstream</code> so einfach geht? Performance kann ja hier kein Kriterium sein. Auch die variable Parameterliste wird nicht ohne Grund kaum mehr in C++ verwendet. Er wird damit früher oder später Probleme haben, besonders, wenn er noch nicht so gewandt in C++ ist.</p>
</blockquote>
<p>Für und Wider wurden <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-231007.html" rel="nofollow">hier</a> ausführlich breitgetreten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677009</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 09 Mar 2009 21:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 10 Mar 2009 07:56:14 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Das schon, aber nicht grundsätzlich und unbehebbar fehleranfällig und typunsicher. Und es ist ja nicht so, als hätte sprintf keinerlei Vorteile.</p>
</blockquote>
<p>Spätestens im Zusammenhang mit Objekten und Klassen sehe ich schon gravierende Nachteile.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677095</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 10 Mar 2009 07:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 10 Mar 2009 08:53:41 GMT]]></title><description><![CDATA[<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ich habe verschiedene parameter, int, short, strings und daraus möchte ich einen String erzeugen.</p>
</blockquote>
<p>The right tool for the right problem[/knivil] <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/1677113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677113</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Tue, 10 Mar 2009 08:53:41 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 10 Mar 2009 10:23:11 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>lord_fritte schrieb:</p>
<blockquote>
<p>Ich habe verschiedene parameter, int, short, strings und daraus möchte ich einen String erzeugen.</p>
</blockquote>
<p>The right tool for the right problem[/knivil] <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><code>std::string</code> Objekte mit <code>sprintf</code> , das könnte recht ineffizient werden. Gerade wegen den strings, würde ich eher <code>std::stringstream</code> als &quot;the right tool&quot; ansehen. Auch wenn es String-Literale sind, würde ich immer noch <code>std::stringstream</code> als besseres tool sehen, da man über die Templates sich ein <code>strlen</code> ersparen kann.</p>
<p>Aber naja, ich glaube wir sind uns inzwischen einig, dass wir uns nicht einig sind <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677181</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 10 Mar 2009 10:23:11 GMT</pubDate></item><item><title><![CDATA[Reply to string in string formatieren? on Tue, 10 Mar 2009 11:25:54 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p>Nicht zwingend.</p>
</blockquote>
<p>Doch, fehleranfälliger als <code>std::stringstream</code> ist sie.</p>
</blockquote>
<p>Das schon, aber nicht grundsätzlich und unbehebbar fehleranfällig und typunsicher. Und es ist ja nicht so, als hätte sprintf keinerlei Vorteile.</p>
</blockquote>
<p>Welche Vorteile hat es denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677226</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Mar 2009 11:25:54 GMT</pubDate></item></channel></rss>