<?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[printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen?]]></title><description><![CDATA[<p>Ist es möglich, folgendes mit <code>cout</code> zu schreiben, und zwar durch entsprechende Manipulatoren:</p>
<pre><code>printf(&quot;%+.4i&quot;, 45);
</code></pre>
<p>?<br />
Und was wäre der direkteste Weg, es über die C++-Streams zu machen?</p>
<p>Edit: Titel angepasst</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323964/printf-conversion-specifier-durch-i-o-stream-manipulatoren-ersetzen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 10:29:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323964.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Feb 2014 17:45:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Mon, 24 Feb 2014 17:51:39 GMT]]></title><description><![CDATA[<p>Ist es möglich, folgendes mit <code>cout</code> zu schreiben, und zwar durch entsprechende Manipulatoren:</p>
<pre><code>printf(&quot;%+.4i&quot;, 45);
</code></pre>
<p>?<br />
Und was wäre der direkteste Weg, es über die C++-Streams zu machen?</p>
<p>Edit: Titel angepasst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385057</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 24 Feb 2014 17:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Mon, 24 Feb 2014 17:57:00 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
#include &lt;iomanip&gt;
using namespace std;

void main()
{
	int x = 45;
	printf(&quot;%+.4i\n&quot;, x);
	cout &lt;&lt; internal &lt;&lt; showpos  &lt;&lt; setfill('0') &lt;&lt; setw(5) &lt;&lt; x &lt;&lt; endl;
}
</code></pre>
<p>So etwa ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385060</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Mon, 24 Feb 2014 17:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Mon, 24 Feb 2014 17:59:48 GMT]]></title><description><![CDATA[<p>Ich hatte einen starken Denkfehler.</p>
<p>Ich dachte, der Stream hat standardmäßig <code>std::internal</code> festgelegt. showpos, setw und setfill hatte ich angewandt, aber natürlich ohne das Ergebnis.<br />
Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385061</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 24 Feb 2014 17:59:48 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 11:53:55 GMT]]></title><description><![CDATA[<p>Das vorherige ging ja noch, aber wie sieht es damit aus?</p>
<pre><code>printf(&quot;%6.4i&quot;, 45);
</code></pre>
<p>Die beiden Leerzeichen können nicht von <code>setw</code> eingefügt werden, da dieses schon die Nullen übernimmt... sieht schlecht aus. Kann <code>printf</code> mehr als die C++-IOStreams?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385160</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 25 Feb 2014 11:53:55 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 12:12:04 GMT]]></title><description><![CDATA[<p>Entweder</p>
<pre><code>int x = 45;
    cout &lt;&lt; &quot;  &quot; &lt;&lt; setfill('0') &lt;&lt; setw(4) &lt;&lt; x &lt;&lt; endl;
</code></pre>
<p>oder</p>
<pre><code>cout &lt;&lt; form2(6,4) &lt;&lt; x &lt;&lt; endl;
</code></pre>
<p>mit</p>
<pre><code>struct form2
{
    form2( int width, int numbersize ) : width_(width), numbersize_(numbersize) {}
    int width_, numbersize_;
};
std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, form2 f )
{
    if( f.width_ &gt; f.numbersize_ )
        out &lt;&lt; std::string( f.width_ - f.numbersize_, ' ' );
    return out &lt;&lt; std::setfill('0') &lt;&lt; std::setw( f.numbersize_ );
}
</code></pre>
<p>Bem.: es war wohl nicht das Ziel der <a href="http://www.c-plusplus.net/forum/p2385008#2385008" rel="nofollow">C++-Stream-Entwickler</a>, genau die printf-Formate zu unterstützen (warum auch <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/2385166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385166</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Tue, 25 Feb 2014 12:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 12:17:54 GMT]]></title><description><![CDATA[<p>Danke, Werner. Das heißt, man muss selber nachhelfen, aber das ist ja kein Problem ( <code>form2</code> ist schon nah dran). <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385167</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 25 Feb 2014 12:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 16:47:14 GMT]]></title><description><![CDATA[<p>uU findest du boost::format interessant: <a href="http://www.boost.org/doc/libs/1_55_0/libs/format/" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/libs/format/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385215</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 25 Feb 2014 16:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 17:19:37 GMT]]></title><description><![CDATA[<p>&lt;a href= schrieb:</p>
<blockquote>
<p>Herb Suter&quot;&gt;However, that said, those io manipulators are a real pain to use even for text, and are just about unusable for formatting numbers (I assume you want your dollar amounts to line up on the decimal, have the correct number of significant digits, etc.). [...]<br />
If you are able to use the Boost libraries, run (don't walk) and use the Boost.Format library instead. It is fully compatible with the standard iostreams, and it gives you all the goodness for easy formatting with printf/Posix formatting string, but without losing any of the power and convenience of iostreams themselves.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2385222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385222</guid><dc:creator><![CDATA[iomaniphater]]></dc:creator><pubDate>Tue, 25 Feb 2014 17:19:37 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 20:54:31 GMT]]></title><description><![CDATA[<p>Boost.Format kenne ich längst. Ich will <code>ts_printf</code> zu Ende schreiben, sodass es wie <code>printf</code> funktioniert. Sollte ich als unterliegenden Ausgabe-Helfer Boost.Format nehmen, dann ist das nicht mehr Standard-C++..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385279</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 25 Feb 2014 20:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 21:29:27 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Boost.Format kenne ich längst. Ich will <code>ts_printf</code> zu Ende schreiben, sodass es wie <code>printf</code> funktioniert.</p>
</blockquote>
<p>Ich wette mit dir, dass sprintf und dann den buffer in die iostreams schreiben schneller ist als die iostream-Manipulatoren.</p>
<p>Ausserdem musst du vorher alle IO-Stream-Flags löschen, bevor du dein ts_printf anwenden kannst, das wird eine Qual ohne ios_flags_saver.</p>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Sollte ich als unterliegenden Ausgabe-Helfer Boost.Format nehmen, dann ist das nicht mehr Standard-C++..</p>
</blockquote>
<p>Seit wann ist Boost nicht kompatibel mit Standard-C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385287</guid><dc:creator><![CDATA[iomaniphater]]></dc:creator><pubDate>Tue, 25 Feb 2014 21:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 21:42:11 GMT]]></title><description><![CDATA[<p>Andrei Alexandrescu hat in seinem Vortrag &quot;Variadic Templates are Funadic&quot; erklärt, wie man ein typsicheres <code>printf()</code> mittels Variadic Templates hinbekommt. Du kannst dir ja mal das Video oder die Slides anschauen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385288</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 25 Feb 2014 21:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to printf conversion-specifier durch I&#x2F;O-Stream Manipulatoren ersetzen? on Tue, 25 Feb 2014 21:44:46 GMT]]></title><description><![CDATA[<p>Ich will doch eine TMP-Version basteln, die den String zur Compile-Zeit auswertet. Hat das etwas damit zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385289</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 25 Feb 2014 21:44:46 GMT</pubDate></item></channel></rss>