<?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[Frage zu Funktionen mit variabler Anzahl der Übergabeparameter.]]></title><description><![CDATA[<p>Bsp. Funktion:</p>
<pre><code class="language-cpp">void print_zahlen(int anzahl, ...)
{
   va_list zeiger;
   int zahl,ergebnis=0;
   int i;
   printf(&quot;Es werden %d Zahlen ausgegeben\n&quot;,anzahl);
   va_start(zeiger,anzahl);
   for(i=1; i&lt;=anzahl; i++)
      {
         zahl=va_arg(zeiger,int);
         printf(&quot;%d\t&quot;,zahl);
      }
   printf(&quot;\n&quot;);
   va_end(zeiger);
}
</code></pre>
<p>Nun frag ich mich, ob man bei der verwendung solcher funktion auch zusätzlich die Anzahl der kommenden Argumente angeben MUSS?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183075/frage-zu-funktionen-mit-variabler-anzahl-der-übergabeparameter</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 03:26:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183075.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Jun 2007 10:04:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:04:47 GMT]]></title><description><![CDATA[<p>Bsp. Funktion:</p>
<pre><code class="language-cpp">void print_zahlen(int anzahl, ...)
{
   va_list zeiger;
   int zahl,ergebnis=0;
   int i;
   printf(&quot;Es werden %d Zahlen ausgegeben\n&quot;,anzahl);
   va_start(zeiger,anzahl);
   for(i=1; i&lt;=anzahl; i++)
      {
         zahl=va_arg(zeiger,int);
         printf(&quot;%d\t&quot;,zahl);
      }
   printf(&quot;\n&quot;);
   va_end(zeiger);
}
</code></pre>
<p>Nun frag ich mich, ob man bei der verwendung solcher funktion auch zusätzlich die Anzahl der kommenden Argumente angeben MUSS?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296468</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:04:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:06:53 GMT]]></title><description><![CDATA[<p>Nein musst du nicht. Bestes Beispiel, das du mit Sicherheit schonmal verwendet hast, ist printf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296471</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:08:38 GMT]]></title><description><![CDATA[<p>ja gut, aber in printf wird evtl. die einzelen &quot;%i&quot; und &quot;%s&quot; etc. im formatstring gezählt, und als anzhal verwendet!</p>
<p>wie mache ich das dann ohne das ich die anzahl der kommenden argumente übergebe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296473</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:09:24 GMT]]></title><description><![CDATA[<p>Da es keine Möglichkeit gibt, festzustellen, wieviele Argumente übergeben wurden, muss man zumindest irgendeine Konvention festlegen, anhand derer man das feststellen kann. Das <strong>muss</strong> natürlich keine Anzahl sein, sondern kann auch ein Formatstring oder Ende-Markierer sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296475</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:10:43 GMT]]></title><description><![CDATA[<p>genau das wollte ich wissen:) Danke.. als gibts keine möglichkeit zu ermitteln wann man am letzen argumten angekommen ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296476</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:20:51 GMT]]></title><description><![CDATA[<p>Nein. Es sei denn du markierst das letzte Argument, z.B. über einen entsprechenden Wert. Das funktioniert da va_arg dir ja den Wert zurückgibt.<br />
Siehe hierzu <a href="http://msdn2.microsoft.com/en-us/library/kb57fad8(VS.71).aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/kb57fad8(VS.71).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296480</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Funktionen mit variabler Anzahl der Übergabeparameter. on Fri, 01 Jun 2007 10:52:47 GMT]]></title><description><![CDATA[<p>ja soweit hab ich das auch schon.. naja schade:) muss ich halt ein END Flag übergeben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296490</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 01 Jun 2007 10:52:47 GMT</pubDate></item></channel></rss>