<?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[Variablen Ausgeben mit TextOut und sprintf]]></title><description><![CDATA[<p>Hi,<br />
Ich habe mal wieder ein Problem mit der WinAPI und kann echt keinen Fehler entdecken. Es handelt sich um einen Laufzeitfehler der anscheinend durch sprinft verursacht wird:</p>
<pre><code class="language-cpp">HDC hdc;
	char* COORDINATES;
    switch(message)
    {
		case WM_MOUSEMOVE:
			{
				int x,y;
				x = LOWORD(lParam);
				y = HIWORD(lParam);
				sprintf(COORDINATES,TEXT(&quot;(%i , %i )&quot;), x, y);
				hdc = GetDC(hWnd);
				TextOut(hdc, 0, 0, COORDINATES, strlen(COORDINATES));
				ReleaseDC(hWnd, hdc);
				return 0;
			}
</code></pre>
<p>COORDINATES is used without beeing defined. Ich deklariere COORDINATES ja und weise ja auch einen Wert per sprintf zu. Ich weiß grad echt nicht was da falsch sein soll. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ich hoffe ihr könnt helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201538/variablen-ausgeben-mit-textout-und-sprintf</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 05:33:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201538.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Dec 2007 14:35:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablen Ausgeben mit TextOut und sprintf on Mon, 31 Dec 2007 14:35:22 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich habe mal wieder ein Problem mit der WinAPI und kann echt keinen Fehler entdecken. Es handelt sich um einen Laufzeitfehler der anscheinend durch sprinft verursacht wird:</p>
<pre><code class="language-cpp">HDC hdc;
	char* COORDINATES;
    switch(message)
    {
		case WM_MOUSEMOVE:
			{
				int x,y;
				x = LOWORD(lParam);
				y = HIWORD(lParam);
				sprintf(COORDINATES,TEXT(&quot;(%i , %i )&quot;), x, y);
				hdc = GetDC(hWnd);
				TextOut(hdc, 0, 0, COORDINATES, strlen(COORDINATES));
				ReleaseDC(hWnd, hdc);
				return 0;
			}
</code></pre>
<p>COORDINATES is used without beeing defined. Ich deklariere COORDINATES ja und weise ja auch einen Wert per sprintf zu. Ich weiß grad echt nicht was da falsch sein soll. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ich hoffe ihr könnt helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1428594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1428594</guid><dc:creator><![CDATA[Hans_a_Supasta]]></dc:creator><pubDate>Mon, 31 Dec 2007 14:35:22 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen Ausgeben mit TextOut und sprintf on Mon, 31 Dec 2007 14:50:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char* COORDINATES;
</code></pre>
<p>Du deklarierst damit einen Zeiger namens COORDINATES.<br />
Der Zeiger zeigt also irgendwo in den Speicher rein.<br />
Wie wär's daher, wenn du COORDINATES erst mal Speicher zuweist, nämlich so:</p>
<pre><code class="language-cpp">COORDINATES = malloc (1024)
</code></pre>
<p>oder reservierst dir gleich bei dir Variablendeklaration am Anfang a bisserl Ram:</p>
<pre><code class="language-cpp">char COORDINATES[1024];
</code></pre>
<p>Des 1024 ist natürlich nur ein willkürlich von mir gewählter Wert. Ich weiß ja net, wie viel Platz du später evtl. noch brauchen wirst.</p>
<p>In deinem Fall schreibt also sprintf() irgendwo in den Speicher rein, je nachdem auf welchen Wert dein Zeiger COORDINATES gerade zeigt, da die Variable nicht initialisiert ist. Da wird sich Windows natürlich drüber freuen und haut dir erst mal nen Laufzeitfehler um die Ohren. ^^</p>
<p>Schönen Gruß und nen guten Rutsch ins neue Jahr 2008 ! :xmas1:<br />
Xzi-bit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1428596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1428596</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 31 Dec 2007 14:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen Ausgeben mit TextOut und sprintf on Mon, 31 Dec 2007 14:59:08 GMT]]></title><description><![CDATA[<p>DANKKEEEEEE<br />
Gleichfalls guten Rutsch <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/1428604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1428604</guid><dc:creator><![CDATA[Hans_a_Supasta]]></dc:creator><pubDate>Mon, 31 Dec 2007 14:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen Ausgeben mit TextOut und sprintf on Tue, 01 Jan 2008 10:47:09 GMT]]></title><description><![CDATA[<p>Übrigens <em>sollte</em> man das Zeichnen nur unter WM_PAINT abhandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1428774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1428774</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 01 Jan 2008 10:47:09 GMT</pubDate></item></channel></rss>