<?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[va_list übergeben]]></title><description><![CDATA[<p>Guten Tag Forum <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="🙂"
    /><br />
Mein Problem ist wie oben beschrieben, dass ich gern eine va_list übergeben möchte... wie komme ich dazu?<br />
Nun, ich habe eine fprintfartige Funktion geschrieben, die strings formatiert in eine Datei schreibt. Also ungefähr so:</p>
<p>fprintfartig(&quot;Das ist ein Integer |i&quot;, 500);</p>
<p>Jetzt habe ich aber noch eine andere Funktion geschrieben, die diese Funktion nutzt und noch einige Zusatzdaten anfügt. Ich rufe sie in dieser anderen Funktion ungefähr so auf:</p>
<p>AndereFunktion (&quot;Das ist ein Integer |i&quot;, 500);</p>
<p>In dieser anderen Funktio sollen nun wie schon gesagt einige Zusatzinformationen hinzkommen. Also am Ende soll etwas wie</p>
<p>Hier kommt eine Nachricht: Das ist ein Integer 500 Toll Nicht?</p>
<p>in der Datei stehen.</p>
<p>Dazu habe ich jetzt in der fprintfartigen Funktion einen weiteren &quot;Identifizierer&quot; hinzugfügt. (also etwas wie |i nur für nen formatierten String) und diese |S genannt.</p>
<p>Beim &quot;Identifizierer&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142635/va_list-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 07:14:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142635.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Apr 2006 13:04:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to va_list übergeben on Sat, 01 Apr 2006 13:04:15 GMT]]></title><description><![CDATA[<p>Guten Tag Forum <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="🙂"
    /><br />
Mein Problem ist wie oben beschrieben, dass ich gern eine va_list übergeben möchte... wie komme ich dazu?<br />
Nun, ich habe eine fprintfartige Funktion geschrieben, die strings formatiert in eine Datei schreibt. Also ungefähr so:</p>
<p>fprintfartig(&quot;Das ist ein Integer |i&quot;, 500);</p>
<p>Jetzt habe ich aber noch eine andere Funktion geschrieben, die diese Funktion nutzt und noch einige Zusatzdaten anfügt. Ich rufe sie in dieser anderen Funktion ungefähr so auf:</p>
<p>AndereFunktion (&quot;Das ist ein Integer |i&quot;, 500);</p>
<p>In dieser anderen Funktio sollen nun wie schon gesagt einige Zusatzinformationen hinzkommen. Also am Ende soll etwas wie</p>
<p>Hier kommt eine Nachricht: Das ist ein Integer 500 Toll Nicht?</p>
<p>in der Datei stehen.</p>
<p>Dazu habe ich jetzt in der fprintfartigen Funktion einen weiteren &quot;Identifizierer&quot; hinzugfügt. (also etwas wie |i nur für nen formatierten String) und diese |S genannt.</p>
<p>Beim &quot;Identifizierer&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028592</guid><dc:creator><![CDATA[VerwirrterIrrer]]></dc:creator><pubDate>Sat, 01 Apr 2006 13:04:15 GMT</pubDate></item><item><title><![CDATA[Reply to va_list übergeben on Sat, 01 Apr 2006 13:07:16 GMT]]></title><description><![CDATA[<p>Ohje... versehentlich abgeschickt... jetzt gehts weiter:</p>
<p>Identifizierer |S benutzt man ca. so</p>
<p>fprintfartig(&quot;|S&quot;, dienachricht, meinevalist);</p>
<p>Nun habe ich mir gedacht einfach nochmal fprintfartig wie folgt aufzurufen wenn er den Identifzierer |S findet:</p>
<p>fprintfartig(va_arg(list, const char*), va_arg(list, va_list));</p>
<p>Doch dieses funktioniert nicht ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028594</guid><dc:creator><![CDATA[VerwirrterIrrer]]></dc:creator><pubDate>Sat, 01 Apr 2006 13:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to va_list übergeben on Mon, 10 Apr 2006 21:15:04 GMT]]></title><description><![CDATA[<p>Ist die va_list wirklich &quot;böse&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034815</guid><dc:creator><![CDATA[VerwirrterIrrer]]></dc:creator><pubDate>Mon, 10 Apr 2006 21:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to va_list übergeben on Mon, 10 Apr 2006 23:04:45 GMT]]></title><description><![CDATA[<p>Ja, in gewissem Sinne ist sie böse. Du verschenkst damit die Typinformation, sodaß altbekannte Fehler aus C, die in C++ eigentlich nicht überleben können, die Möglichkeit haben sich wieder einzuschleichen.</p>
<p>Wenn Du Texte formatieren willst und was eher printf-artiges für C++ suchst, dann wirf mal einen Blick auf boost::format. Wenn Du eher den Umgang mit den variablen Parameterlisten lernen willst, dann ignorier das einfach. <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/1034851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034851</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 10 Apr 2006 23:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to va_list übergeben on Tue, 11 Apr 2006 07:04:39 GMT]]></title><description><![CDATA[<p>Falls ich dein Problem richtig verstanden habe:</p>
<p>Vielleicht hilft es, die eigentliche Arbeit nicht von fprintfartig()<br />
machen zu lassen, sondern von einer anderen vfprintfartig().<br />
Die bekommt ebenfalls den ersten festen Parameter, und den<br />
Rest als va_list.<br />
Ansonsten macht sie das, was bisher fprintfartig() gemacht hat.</p>
<p>fprintfartig() baust du so um, daß es aus seinen Parametern<br />
das va_list erzeugt und dann vfprintfartig() damit aufruft.</p>
<p>Der Vorteil: AndereFunktion() kann direkt vfprintfartig() aufrufen,<br />
und den festen Parameter vorher nach Belieben verpfuschen<br />
bzw. durch etwas anderes ersetzen, und seine restlichen<br />
Parameter dann als va_list weiterreichen.</p>
<p>So ähnlich wird es in der Std-Lib mit printf() und vprinf() etc. ja<br />
auch gemacht.</p>
<p>Der umgekehrte Weg (aus einem va_list zur Laufzeit wieder<br />
eine Parameterliste zu konstruieren) ist nicht sinnvoll machbar.</p>
<p>mfgkw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034914</guid><dc:creator><![CDATA[mfgkw]]></dc:creator><pubDate>Tue, 11 Apr 2006 07:04:39 GMT</pubDate></item><item><title><![CDATA[Reply to va_list übergeben on Sun, 30 Apr 2006 13:35:14 GMT]]></title><description><![CDATA[<p>Danke für den Tipp <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/1048380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048380</guid><dc:creator><![CDATA[VerwirrterIrrer]]></dc:creator><pubDate>Sun, 30 Apr 2006 13:35:14 GMT</pubDate></item></channel></rss>