<?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[Wie schreibe ich eine Ellipse?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie schreibt man so eine Funktion wie printf? Die undefiniert viele Parameter der unterschiedlichsten Typen frisst?</p>
<p>Ich muss sonst superoft das hier schreiben:</p>
<pre><code class="language-cpp">CString strMsg;
	strMsg.Format(_T(&quot;COrteSet::SetPlz(CString f_strPlz(==%s)) Anfang&quot;), f_strPlz);
	AfxMessageBox(strMsg); // Ist eigentlich was anderes, aber als Beispiel okay.
</code></pre>
<p>Links? Suchbegriffvorschläge? Büchertipps? Ich finde nix. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/64663/wie-schreibe-ich-eine-ellipse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 04:27:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/64663.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Feb 2004 14:38:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Thu, 12 Feb 2004 14:38:39 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie schreibt man so eine Funktion wie printf? Die undefiniert viele Parameter der unterschiedlichsten Typen frisst?</p>
<p>Ich muss sonst superoft das hier schreiben:</p>
<pre><code class="language-cpp">CString strMsg;
	strMsg.Format(_T(&quot;COrteSet::SetPlz(CString f_strPlz(==%s)) Anfang&quot;), f_strPlz);
	AfxMessageBox(strMsg); // Ist eigentlich was anderes, aber als Beispiel okay.
</code></pre>
<p>Links? Suchbegriffvorschläge? Büchertipps? Ich finde nix. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/457849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/457849</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 12 Feb 2004 14:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Thu, 12 Feb 2004 14:47:02 GMT]]></title><description><![CDATA[<p>Guck mal im C++ Forum, da gabs erst vor kurzem ne Diskussion dürber.</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/457859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/457859</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 12 Feb 2004 14:47:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Thu, 12 Feb 2004 14:48:01 GMT]]></title><description><![CDATA[<p>va_start</p>
<p>dann die parameter..</p>
<p><a href="http://www.eckart-winkler.de/computer/varargs.htm" rel="nofollow">http://www.eckart-winkler.de/computer/varargs.htm</a></p>
<p>ich glaube, du meinst sowas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/457861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/457861</guid><dc:creator><![CDATA[elise]]></dc:creator><pubDate>Thu, 12 Feb 2004 14:48:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Thu, 12 Feb 2004 17:25:39 GMT]]></title><description><![CDATA[<p>Guck mal ins MFC-Forum da hat's inzwischen schon zwei Beispiele (IIRC) für Messageboxen mit variabler Argumentenliste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/458012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458012</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Thu, 12 Feb 2004 17:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Fri, 13 Feb 2004 07:27:35 GMT]]></title><description><![CDATA[<p>Danke, das werd ich erstmal absuchen. <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/458265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458265</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 13 Feb 2004 07:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Fri, 13 Feb 2004 09:31:11 GMT]]></title><description><![CDATA[<p>Elises Link hat mir sehr geholfen, auch wenn ich es erstmal in &quot;MFC&quot; übersetzen musste.</p>
<p>Aber nächste Frage: Wie übergebe ich eine Ellipse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/458342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458342</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 13 Feb 2004 09:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Fri, 13 Feb 2004 10:10:55 GMT]]></title><description><![CDATA[<p>Aber vorher noch diese Frage:</p>
<p>Was habe ich falsch gemacht?</p>
<p>Hier die Funktion:</p>
<pre><code class="language-cpp">void CLog::Log(CString f_strFormat, UINT f_nLogNummer, ...)
{
	va_list args;
	TCHAR chAktuellesZeichen;
	CString strReturn;

	// Parameterabfrage initialisieren
	va_start(args, f_strFormat);

	// Für jedes Zeichen der Formatierung einmal...
	for (int i = 0; i &lt; f_strFormat.GetLength(); i++)
	{
		// Aktuelles Zeichen holen
		chAktuellesZeichen = f_strFormat.GetAt(i);

		// Wenn das aktuelle Zeichen kein % ist...
		if (chAktuellesZeichen != _T('%'))
		{
			// An die Zielzeichenkette anhängen
			strReturn += chAktuellesZeichen;
		}
		else
		{
			i++; // Nächstes Zeichen! Nicht schön aber hier sinnvoll.
			chAktuellesZeichen = f_strFormat.GetAt(i);

			CString strTemp;
			// Formatkennzeichner abarbeiten
			switch (chAktuellesZeichen)
			{
			// Funktioniert genauso wie bei printf
			// Einzelne Buchstaben
			case _T('d'):
				strTemp.Format(_T(&quot;%d&quot;), (int)va_arg(args, int));
				break;
			// Strings
			case _T('s'):
				strTemp.Format(_T(&quot;%s&quot;), (char*)va_arg(args, char*)); // &lt;-------- TILT!
				break;
			default:
				strTemp = _T(&quot;%&quot;) + chAktuellesZeichen;
			}

			// Das Ergebnis hinten anhängen
			strReturn += strTemp;
		}
	}

	// Fertig mit Formatieren, also weitergeben
	CLog::LogLine(strReturn, f_nLogNummer);

	// Parameterabfrage beenden
	va_end(args);
}
</code></pre>
<p>Das funktioniert auch einige Male ganz klasse, bis es in der markierten Zeile abstürtzt.<br />
Eigentlich ist es ja diese Zeile in der output.c</p>
<pre><code class="language-cpp">while (i-- &amp;&amp; *p)
</code></pre>
<p>Dabei hat es im Durchlauf vorher mit dem selben Aufruf noch funktioniert...</p>
<pre><code class="language-cpp">CLog::Log(_T(&quot;COrteView::AddLine(UINT f_nID(==%d), CString f_strPlz(==%s), CString f_strOrt(==%s)) Anfang&quot;), LOG_NR_FUNKTION_BEGINN, f_nID, f_strPlz, f_strOrt);
</code></pre>
<p>Funktioniert mit den Werten: 1, 0, &quot;38100&quot;, &quot;Braunschweig&quot;<br />
Funktioniert nicht mit: 1, 1, &quot;38300&quot;, &quot;Wolfenbüttel&quot;<br />
Der Wert, der gerade beim Absturz behandelt wird ist die Postleitzahl.</p>
<p>Achja, hier noch die Fehlermeldung:<br />
---------------------------<br />
Microsoft Visual C++<br />
---------------------------<br />
Unbehandelte Ausnahme in Audiodatic_III.exe (MSVCRTD.DLL): 0xC0000005: Access Violation.<br />
---------------------------<br />
OK<br />
---------------------------</p>
<p>Ideen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/458369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458369</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 13 Feb 2004 10:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schreibe ich eine Ellipse? on Fri, 13 Feb 2004 13:13:36 GMT]]></title><description><![CDATA[<p>So, nach einigem Debuggen habe ich herausgefunden, dass der den zweiten Parameter auch noch in der Liste drin hat. Ich habe den also im Prinzip doppelt.</p>
<p>So, und beim schreiben des Beitrags habe ich auch meinen Fehler gefunden:<br />
Es muss</p>
<pre><code class="language-cpp">va_start(args, f_nLogNummer);
</code></pre>
<p>statt</p>
<pre><code class="language-cpp">va_start(args, f_strFormat);
</code></pre>
<p>sein.<br />
Hoffe jetzt geht es.</p>
<p>[Edit] Achja, den Datentyp habe ich auch noch entdeckt: va_list [/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/458504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458504</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 13 Feb 2004 13:13:36 GMT</pubDate></item></channel></rss>