<?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[Zeichenausgabe]]></title><description><![CDATA[<p>Folgendes Problem(OPENGL): Ich möchte einen String an eine Funktion übergeben und diese wertet die Zeichen in einer for schleife aus und bringt die Pixel auf den Bildschirm:</p>
<pre><code>GLvoid drawWord(char word[255])
{
	for(i=0;i&lt;255;i++)
	{
		switch(word[i])
		{
		case 'A':
			glBitmap(10,12,0,0,12,0,letterA);
		break;
		case 'B':
			glBitmap(10,12,0,0,12,0,letterB);
		break;
		case 'C':
			glBitmap(10,12,0,0,12,0,letterC);
		break;
		case 'D':
			glBitmap(10,12,0,0,12,0,letterD);
		break;
		case 'E':
			glBitmap(10,12,0,0,12,0,letterE);
		break;
		case 'F':
			glBitmap(10,12,0,0,12,0,letterF);
		break;
		case 'G':
			glBitmap(10,12,0,0,12,0,letterG);
		break;
		case 'H':
			glBitmap(10,12,0,0,12,0,letterH);
		break;
		case 'J':
			glBitmap(10,12,0,0,12,0,letterJ);
		break;
		case 'K':
			glBitmap(10,12,0,0,12,0,letterK);
		break;
		case 'L':
			glBitmap(10,12,0,0,12,0,letterL);
		break;
		case 'M':
			glBitmap(10,12,0,0,12,0,letterM);
		break;
		case 'O':
			glBitmap(10,12,0,0,12,0,letterO);
		break;
		case 'P':
			glBitmap(10,12,0,0,12,0,letterP);
		break;
		case 'R':
			glBitmap(10,12,0,0,12,0,letterR);
		break;
		case 'S':
			glBitmap(10,12,0,0,12,0,letterS);
		break;
		case 'T':
			glBitmap(10,12,0,0,12,0,letterT);
		break;
		case 'W':
			glBitmap(10,12,0,0,12,0,letterW);
		break;
		case ' ':
			glBitmap(10,12,0,0,12,0,letter_space);
		break;
		case 'U':
			glBitmap(10,12,0,0,12,0,letterU);
		break;
		}
	}
/* for(i=0;i&lt;255;i++) //funktionert nicht da zeichen komischerweise gelöscht 
                      //werden bevor sie ausgegeben werden :(   
   {
        word[i]=NULL;
   }
*/

}
</code></pre>
<p>Das Problem ist das wenn ich die Funktion drawWord(&quot;BLA&quot;) verwende, bleiben die Zeichen im nächsten durchlauf im buffer drin :(. Ich muss also den buffer nach jedem durchlauf säubern.</p>
<p>Hoffe mir kann jemand helfen oder kennt einen leichteren Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137888/zeichenausgabe</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 22:57:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137888.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Feb 2006 17:10:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichenausgabe on Tue, 21 Feb 2006 17:10:26 GMT]]></title><description><![CDATA[<p>Folgendes Problem(OPENGL): Ich möchte einen String an eine Funktion übergeben und diese wertet die Zeichen in einer for schleife aus und bringt die Pixel auf den Bildschirm:</p>
<pre><code>GLvoid drawWord(char word[255])
{
	for(i=0;i&lt;255;i++)
	{
		switch(word[i])
		{
		case 'A':
			glBitmap(10,12,0,0,12,0,letterA);
		break;
		case 'B':
			glBitmap(10,12,0,0,12,0,letterB);
		break;
		case 'C':
			glBitmap(10,12,0,0,12,0,letterC);
		break;
		case 'D':
			glBitmap(10,12,0,0,12,0,letterD);
		break;
		case 'E':
			glBitmap(10,12,0,0,12,0,letterE);
		break;
		case 'F':
			glBitmap(10,12,0,0,12,0,letterF);
		break;
		case 'G':
			glBitmap(10,12,0,0,12,0,letterG);
		break;
		case 'H':
			glBitmap(10,12,0,0,12,0,letterH);
		break;
		case 'J':
			glBitmap(10,12,0,0,12,0,letterJ);
		break;
		case 'K':
			glBitmap(10,12,0,0,12,0,letterK);
		break;
		case 'L':
			glBitmap(10,12,0,0,12,0,letterL);
		break;
		case 'M':
			glBitmap(10,12,0,0,12,0,letterM);
		break;
		case 'O':
			glBitmap(10,12,0,0,12,0,letterO);
		break;
		case 'P':
			glBitmap(10,12,0,0,12,0,letterP);
		break;
		case 'R':
			glBitmap(10,12,0,0,12,0,letterR);
		break;
		case 'S':
			glBitmap(10,12,0,0,12,0,letterS);
		break;
		case 'T':
			glBitmap(10,12,0,0,12,0,letterT);
		break;
		case 'W':
			glBitmap(10,12,0,0,12,0,letterW);
		break;
		case ' ':
			glBitmap(10,12,0,0,12,0,letter_space);
		break;
		case 'U':
			glBitmap(10,12,0,0,12,0,letterU);
		break;
		}
	}
/* for(i=0;i&lt;255;i++) //funktionert nicht da zeichen komischerweise gelöscht 
                      //werden bevor sie ausgegeben werden :(   
   {
        word[i]=NULL;
   }
*/

}
</code></pre>
<p>Das Problem ist das wenn ich die Funktion drawWord(&quot;BLA&quot;) verwende, bleiben die Zeichen im nächsten durchlauf im buffer drin :(. Ich muss also den buffer nach jedem durchlauf säubern.</p>
<p>Hoffe mir kann jemand helfen oder kennt einen leichteren Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999582</guid><dc:creator><![CDATA[T7M7]]></dc:creator><pubDate>Tue, 21 Feb 2006 17:10:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenausgabe on Tue, 21 Feb 2006 19:11:47 GMT]]></title><description><![CDATA[<p>Ich würde sowieso ausnutzen, dass &quot;normale&quot; String nullterminiert sind:</p>
<pre><code class="language-cpp">GLvoid drawWord(char word[255])
{
    int i = 0;
    while(word[i] != '\0')
    {
        switch(word[i])
        {
        case 'A':
            glBitmap(10,12,0,0,12,0,letterA);
        break;
        case 'B':
            glBitmap(10,12,0,0,12,0,letterB);
        break;
        case 'C':
            glBitmap(10,12,0,0,12,0,letterC);
        break;
        case 'D':
            glBitmap(10,12,0,0,12,0,letterD);
        break;
        case 'E':
            glBitmap(10,12,0,0,12,0,letterE);
        break;
        case 'F':
            glBitmap(10,12,0,0,12,0,letterF);
        break;
        case 'G':
            glBitmap(10,12,0,0,12,0,letterG);
        break;
        case 'H':
            glBitmap(10,12,0,0,12,0,letterH);
        break;
        case 'J':
            glBitmap(10,12,0,0,12,0,letterJ);
        break;
        case 'K':
            glBitmap(10,12,0,0,12,0,letterK);
        break;
        case 'L':
            glBitmap(10,12,0,0,12,0,letterL);
        break;
        case 'M':
            glBitmap(10,12,0,0,12,0,letterM);
        break;
        case 'O':
            glBitmap(10,12,0,0,12,0,letterO);
        break;
        case 'P':
            glBitmap(10,12,0,0,12,0,letterP);
        break;
        case 'R':
            glBitmap(10,12,0,0,12,0,letterR);
        break;
        case 'S':
            glBitmap(10,12,0,0,12,0,letterS);
        break;
        case 'T':
            glBitmap(10,12,0,0,12,0,letterT);
        break;
        case 'W':
            glBitmap(10,12,0,0,12,0,letterW);
        break;
        case ' ':
            glBitmap(10,12,0,0,12,0,letter_space);
        break;
        case 'U':
            glBitmap(10,12,0,0,12,0,letterU);
        break;
        }
        ++i;
    }
}
</code></pre>
<p>In deinem vorherigen Code wurde i übrigens nie definiert (jedenfalls nicht in dem Teil, den du gepostet hast). Hab sonst erstmal keine Idee, woran es liegen könnte...</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999678</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Tue, 21 Feb 2006 19:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenausgabe on Wed, 22 Feb 2006 08:49:54 GMT]]></title><description><![CDATA[<p>Ich hatte for kurzen mal was dazu in meinem Blog geschrieben:</p>
<p><a href="http://jankuhnert.blogspot.com/2006/02/opengl-schrift-blend-und-layer.html" rel="nofollow">http://jankuhnert.blogspot.com/2006/02/opengl-schrift-blend-und-layer.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/999933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999933</guid><dc:creator><![CDATA[Jan_]]></dc:creator><pubDate>Wed, 22 Feb 2006 08:49:54 GMT</pubDate></item></channel></rss>