<?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[Problem unsigned char auf LPCSTR?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich schreibe gerade ein Tool indem ich ein PNG File einlesen und ein 32Bit Array wandeln kann um es als Textur einbinden zu können im Projekt meiner Diplomarbeit... Folgendes Problem:</p>
<p>Ich habe die Bilddaten in einem unsigned Byte Array über die DevIL Library</p>
<pre><code class="language-cpp">ILubyte * bytes = ilGetData() ;
</code></pre>
<p>das das array unsigned is kann ich meines Erachtens nich ändern ohne im Headerfile rumzupfuschn...<br />
Wichtig: Für die DevIL Lib ist bei mir der UNICODE deaktiviert! Deswegen hab ich natürlich jetzt wenn ich das in ein file exportier ANSI Code *jaigitt* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Ich hab nun das Array in einen String gepackt um diesen mit ::MultiByteToWideChar() in UNICODE zu wandeln und dann per ofstream in ein File zu packen:</p>
<pre><code class="language-cpp">//Create Stream for Output and Open File
  ofstream fp_out;
  fp_out.open(&quot;pngdata.txt&quot;, ios::out);

  //Convert Array to string
  unsigned char *str;
  str = new unsigned char[size+1];
  for(int i = 0; i &lt; size; i++){
	  str[i] = bytes[i];
  }

    //Change Array to Unicode

	BSTR unicodestr = SysAllocStringLen(NULL, size);
	::MultiByteToWideChar(CP_ACP, 0, str, size, unicodestr, size);
</code></pre>
<p>Wenn ich es so mache krieg ich nen Error, da str unsigned char ist aber vom der Funktion MultiByteToWideChar() als LPCSTR erwartet wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Wenn ich aber mein Byte Array auf einen signed string caste konvertiert er zwar aber ich bekommen falsche Werte. Das liegt vermutlich daran, dass ich beim casten von unsigned auf signed negative Werte bekomme, die dann natürlich über ANSI Tabelle konvertiert quark mit Soße sind <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Zum Verständnis allgemein: Im Byte Array bytes[i] befinden sich RGBA Werte des PNG also zB 0,0,0,255. Was ich am Ende im Textfile haben will ist folgende Darstellung: 0x000000ff.</p>
<p>Ich hoff es hat vielleicht einer nen Tipp wie ich das Problem lösen kann, da häng ich grad ziemlich an der Wand <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>
<p>Grüße<br />
Max :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279021/problem-unsigned-char-auf-lpcstr</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 17:26:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279021.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Dec 2010 14:11:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 14:11:14 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich schreibe gerade ein Tool indem ich ein PNG File einlesen und ein 32Bit Array wandeln kann um es als Textur einbinden zu können im Projekt meiner Diplomarbeit... Folgendes Problem:</p>
<p>Ich habe die Bilddaten in einem unsigned Byte Array über die DevIL Library</p>
<pre><code class="language-cpp">ILubyte * bytes = ilGetData() ;
</code></pre>
<p>das das array unsigned is kann ich meines Erachtens nich ändern ohne im Headerfile rumzupfuschn...<br />
Wichtig: Für die DevIL Lib ist bei mir der UNICODE deaktiviert! Deswegen hab ich natürlich jetzt wenn ich das in ein file exportier ANSI Code *jaigitt* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Ich hab nun das Array in einen String gepackt um diesen mit ::MultiByteToWideChar() in UNICODE zu wandeln und dann per ofstream in ein File zu packen:</p>
<pre><code class="language-cpp">//Create Stream for Output and Open File
  ofstream fp_out;
  fp_out.open(&quot;pngdata.txt&quot;, ios::out);

  //Convert Array to string
  unsigned char *str;
  str = new unsigned char[size+1];
  for(int i = 0; i &lt; size; i++){
	  str[i] = bytes[i];
  }

    //Change Array to Unicode

	BSTR unicodestr = SysAllocStringLen(NULL, size);
	::MultiByteToWideChar(CP_ACP, 0, str, size, unicodestr, size);
</code></pre>
<p>Wenn ich es so mache krieg ich nen Error, da str unsigned char ist aber vom der Funktion MultiByteToWideChar() als LPCSTR erwartet wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Wenn ich aber mein Byte Array auf einen signed string caste konvertiert er zwar aber ich bekommen falsche Werte. Das liegt vermutlich daran, dass ich beim casten von unsigned auf signed negative Werte bekomme, die dann natürlich über ANSI Tabelle konvertiert quark mit Soße sind <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Zum Verständnis allgemein: Im Byte Array bytes[i] befinden sich RGBA Werte des PNG also zB 0,0,0,255. Was ich am Ende im Textfile haben will ist folgende Darstellung: 0x000000ff.</p>
<p>Ich hoff es hat vielleicht einer nen Tipp wie ich das Problem lösen kann, da häng ich grad ziemlich an der Wand <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>
<p>Grüße<br />
Max :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995851</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:11:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 14:30:31 GMT]]></title><description><![CDATA[<p>Also ich verstehe im Moment nicht so ganz, warum du den Umweg über die Textdatei gehst.<br />
DevIL ist doch dafür gedacht, das png direkt zu laden und kann das auch gleich an OpenGL weitergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995865</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 14:36:50 GMT]]></title><description><![CDATA[<p>Hi Decimad;</p>
<p>das is natürlich eine berechtigte Frage. Dazu muss ich kurz ausholen.<br />
Ich bin leider auch neu in OpenGL und programmier ein einfaches Instrument Cluster. Dabei hab ich ein Example vorliegen welches die Texturdaten per Header mit einem 32BIT Array einpflegt. Um mir den Einstieg erstmal zu erleichtern wollte ich die selbe Struktur wie im Example beibehalten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995870</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 14:55:26 GMT]]></title><description><![CDATA[<p>Okay, wenn es die Sache einfacher macht, warum nicht...<br />
Ich würde das Array zu einem unsigned int array casten, den Stream auf hexadezimal einstellen und dann einfach die unsigned int's drauf loslassen. Ich hoffe, ich habe das jetzt richtig interpretiert, dass du das als echte Strings in der Textdatei haben möchtest.</p>
<p>Edit: Also ich komme nicht umhin zu denken, dass du da mit Strings im allgemeinen etwas nicht verstanden hast. Was OpenIL da zurückliefert ist ein Array von Byte-Werten die die entsprechende Farbkompenente spezifizieren für Pixel. Was MultibyteToWideChar macht ist Multibyte (oder Ansi/Ascii/Utf8)-Kodierte Strings in UTF16-Strings zu rekodieren. Dafür muss man aber überhaupt erstmal einen gültigen String der Form haben. &quot;0x000000FF&quot; hat halt als String 10 Byte, während das was OpenIL da liefert wirklich binär ist, also pro Pixel 4 Byte. Eine Ascii-0 ist eben auch keine Binär-0, sondern im Speicher eine 48. Du musst daher, wie ich vorschlage, die Zahlen entsprechen in ihre Stringform bringen, was die entsprechenden Ausgabeoperatoren vom Stream erledegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995873</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:55:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 15:14:07 GMT]]></title><description><![CDATA[<p>ok dann mach ich mal den crosscheck <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>
<p>Decimad schrieb:</p>
<blockquote>
<p>OpenIL da zurückliefert ist ein Array von Byte-Werten die die entsprechende Farbkompenente spezifizieren für Pixel.</p>
</blockquote>
<p>check. versteh ich. ich hab im Array quasi 0,0,0,255 also RGBA. Gleich mal vorweg das ist in ANSI da UNICODE ja deaktiviert ist.</p>
<p>Decimad schrieb:</p>
<blockquote>
<p>Was MultibyteToWideChar macht ist Multibyte (oder Ansi/Ascii/Utf8)-Kodierte Strings in UTF16-Strings zu rekodieren.</p>
</blockquote>
<p>check. versteh ich. die benutze ich ja genau aus dem Grund. damit will ich aus den ANSI Daten Unicode machen, da krieg ich ja sonst symbolvielfalt wenn ich das ohne konvertierung exportier...</p>
<p>Decimad schrieb:</p>
<blockquote>
<p>&quot;0x000000FF&quot; hat halt als String 10 Byte, während das was OpenIL da liefert wirklich binär ist, also pro Pixel 4 Byte. Eine Ascii-0 ist eben auch keine Binär-0, sondern im Speicher eine 48. Du musst daher, wie ich vorschlage, die Zahlen entsprechen in ihre Stringform bringen, was die entsprechenden Ausgabeoperatoren vom Stream erledegen.</p>
</blockquote>
<p>Jetz wirds interessant <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="🙂"
    /> daran hab ich so genau noch gar nich gedacht. 4 BytepP sind richtig, aber wenn ich 0,0,0,255 in hex wandle hab ich doch 000000FF? Ich dachte mein Problem is das meine 0-255 rgba werte durch den pflicht-signed-cast für die Funktion MyByte zu -127...+128 wird und dann die negativWerte falsch bei der ANSI konvertierung interpretiert werden...</p>
<p>Decimad schrieb:</p>
<blockquote>
<p>Ich würde das Array zu einem unsigned int array casten .</p>
</blockquote>
<p>der ist schon unsigned char von der IL.h aus.<br />
den Streamc aste ich schon hex ins file, dass mache ich so während der filestream offen ist.:</p>
<pre><code class="language-cpp">for(j = 0; j &lt; size; j++){

	  if(j%4==0){
		fp_out &lt;&lt; &quot;0x&quot;;
		//printf(&quot;0x&quot;);
		}

	  fp_out &lt;&lt; setw(2) &lt;&lt; setfill('0') &lt;&lt; hex &lt;&lt; unicodestr[j];
	  //fp_out &lt;&lt; setprecision(2) &lt;&lt; hex &lt;&lt; unicodestr[j];

	  //New Line
	  if((j+1)%4==0){
	  fp_out &lt;&lt; &quot;;\n&quot;;
	  //printf(&quot;;\n&quot;);
	  }
  }
</code></pre>
<p>das macht auch was es soll...</p>
<p>Danke für die schnelle Antwort!<br />
Gruß Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995899</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Fri, 17 Dec 2010 15:23:02 GMT]]></title><description><![CDATA[<p>OpenIL gibt kein Ascii oder Ansi oder überhaupt eine Text-Kodierung zurück. OpenIL gibt binärepresentation der Farbwerte zurück, wie zahlen halt im PC intern dargestellt werden (Denke daran dass bspw. 254 in ein Byte passt, aber 3 Schriftzeichen in Textkodierung braucht, also in Ascii 3 Byte oder UTF-16 halt 6 Byte). Deshalb müssen die Zahlen erst zu Ascii, Ansii oder UTF konvertiert werden.</p>
<p>Was ich mit den unsigned int-Array meinte war:</p>
<pre><code class="language-cpp">const unsigned int* intPtr = reinterpret_cast&lt;const unsigned int*&gt;( byteArray );

for( unsigned int i=0; i&lt;numPixels; ++i )
{
    stream &lt;&lt; intPtr[i];  // Hier wird unsigned int zu einem String konvertiert
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995901</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:23:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 07:39:24 GMT]]></title><description><![CDATA[<p>so da bin ich wieder. Also erstmal, es ist definitiv eine funktionierende Lösung, ganz hingekriegt hab ichs aber doch ned <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="😞"
    /> hab aber erstmal versucht es selbst zu lösen ohne Erfolg...</p>
<pre><code class="language-cpp">//Create Stream for Output and Open File
  ofstream fp_out;
  fp_out.open(&quot;pngdata.txt&quot;, ios::out);

  //typecast byte array
    const int* intPtr = reinterpret_cast&lt;const int*&gt;( bytes ); 
	for( int i=0; i&lt;size; ++i ) 
	{ 
		fp_out &lt;&lt; hex &lt;&lt; &quot;;&quot; &lt;&lt;intPtr[i];  // Hier wird unsigned int zu einem String konvertiert 
		cout &lt;&lt; hex &lt;&lt; &quot;\n&quot; &lt;&lt; intPtr[i];
	}
</code></pre>
<p>gibt mir korrekt im File aus : FF000000;FF000000; etc und dachte das da halt ein Dreher drin ist weil ja eigentlich RGBA und das schaut nach ABGR aus aber dazu später ... Ich bekommen aber gegen Ende dann immer nen Zugriffsfehler beim Lesen. Das passiert ca bei einem i=300000, also liegst nich am i hät ich gesagt.<br />
Den Fehler krieg ich ja normal wenn ich was mit den arrayelementen falsch gemacht hab.Also hab ich mir das Array genauer angeschaut:<br />
Wenn ich intPtr decimal ausgeben lass krieg ich zB -16700000 oder ähnlich hohe Zahlen im negativen Bereich. Meineserachtens doch falsch oder? Dann hab ich bisl rumgespielt mit nem unsigned typecast etc aber ohne Erfolg.</p>
<p>Dann ist mir augefallen das bytes[] vom Typ char ist</p>
<pre><code class="language-cpp">ILubyte * bytes = ilGetData();
</code></pre>
<p>mit typedef unsigned char ILubyte<br />
dh meine Werte von OpenIL sind gar keine &quot;zahlenwerte&quot; sonder chars? Wenn ich dann nen cast mache auf ein integer array kann das doch nich gutgehn oder?</p>
<p>Debenbei bemerkt:<br />
Jetz hab ich auch glaub ich besser verstanden was du meintest. Wenn mir OpenIL die Daten in Zahlenwerten liefert, dann wär mir ANSI ansich wurscht wenn ichs einfach als hex in den Stream schiebe. Sobald ich irgendwas mit chars mache kommt ANSI ins spiel, right?</p>
<p>Gruß Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997823</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Wed, 22 Dec 2010 07:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 08:58:08 GMT]]></title><description><![CDATA[<p>Sanschoo schrieb:</p>
<blockquote>
<p>gibt mir korrekt im File aus : FF000000;FF000000; etc und dachte das da halt ein Dreher drin ist weil ja eigentlich RGBA und das schaut nach ABGR aus</p>
</blockquote>
<p><a href="http://de.wikipedia.org/wiki/Byte-Reihenfolge" rel="nofollow">http://de.wikipedia.org/wiki/Byte-Reihenfolge</a></p>
<p>Sanschoo schrieb:</p>
<blockquote>
<p>Ich bekommen aber gegen Ende dann immer nen Zugriffsfehler beim Lesen. Das passiert ca bei einem i=300000, also liegst nich am i hät ich gesagt.</p>
</blockquote>
<p>Ist size die Länge des unsigned char-Arrays? Die musst du natürlich durch vier teilen, wenn du das als Array von 32-Bit-Werten interpretierst.</p>
<p>Sanschoo schrieb:</p>
<blockquote>
<p>Dann ist mir augefallen das bytes[] vom Typ char ist</p>
<pre><code class="language-cpp">ILubyte * bytes = ilGetData();
</code></pre>
<p>mit typedef unsigned char ILubyte<br />
dh meine Werte von OpenIL sind gar keine &quot;zahlenwerte&quot; sonder chars?</p>
</blockquote>
<p>char ist ein Zahl-Datentyp.</p>
<p>Sanschoo schrieb:</p>
<blockquote>
<p>Wenn ich dann nen cast mache auf ein integer array kann das doch nich gutgehn oder?</p>
</blockquote>
<p>Doch, das ist ja der Sinn der ganzen Aktion. Du willst ja gerade den Inhalt des Speichers uminterpretieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997832</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 22 Dec 2010 08:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 11:03:39 GMT]]></title><description><![CDATA[<p>Klasse! Das war der Clou! Warum durch vier teilen is mir nun auch klar <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="🙂"
    /> somit kriege ich mit folgendem Code meinen formal gewollten Output:</p>
<pre><code class="language-cpp">//typecast byte array

	const int *intPtr = reinterpret_cast&lt;const int*&gt;( bytes ); 
	for( int i=0; i&lt;(size/4); i++ ) 
	{ 
		fp_out &lt;&lt; hex &lt;&lt; showbase &lt;&lt; &quot;, &quot; &lt;&lt; intPtr[i];  // Hier wird unsigned int zu einem String konvertiert 
		//cout &lt;&lt; hex &lt;&lt; &quot;\n&quot; &lt;&lt; intPtr[i];
	}
</code></pre>
<p>Ein Problem hab ich jetz noch (und wieder hab ichs versucht -&gt; openGL noob <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> )... Format jetz 0xFF000000. Ich bin mir ziemlich sicher das das ABGR ist, da ich ein Schwarz weiss bild geladen habe und der AlphaWert auf 255 sein müsste. Jetzt dachte ich mir ich lads mal in mein OpenGL Programm</p>
<pre><code class="language-cpp">glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1024, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, pointer_zum_32bit_array);
</code></pre>
<p>Mein PNG ist mit paint auf 1024*512 geändert mit einer 32bit-Farbtiefe.</p>
<p>Dann krieg ich nen Fehler mit Zugriffsverletzung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> versteh ich nich. Selbst wenns RGBA is, müsste ers doch trotzdem nehmen und halt dann falsche Farben anzeigen?!<br />
Wenn ich GL_RGB ohne alphawert nehme macht ers, zeigt aber auch falsche Farben an (weil vermutlich BGR)... sorry wenn ich da so aufm Schlauch stehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Und wieso drehts mir denn überhaupt meinen arrayinhalt?! Wenn ich mein bytes[] mit printf ausgebe hab ich 0,0,0,255 (also richtig). Und mit der for-Schleife schreibe ich sie nach dem reinterpret-cast der Reihe nach ins file...</p>
<p>Gruß Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997871</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Wed, 22 Dec 2010 11:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 11:15:45 GMT]]></title><description><![CDATA[<p>Sanschoo schrieb:</p>
<blockquote>
<p>Mein PNG ist mit paint auf 1024*512 geändert mit einer 32bit-Farbtiefe.</p>
</blockquote>
<p>Wie groß ist denn size?</p>
<p>Sanschoo schrieb:</p>
<blockquote>
<p>Und wieso drehts mir denn überhaupt meinen arrayinhalt?!</p>
</blockquote>
<p>Hast du den Wikipedia-Artikel gelesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997873</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 22 Dec 2010 11:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 11:36:42 GMT]]></title><description><![CDATA[<p>size = 2 097 152</p>
<p>ja jetzt gleich nochmal gelesen. Mit Windows etc befinde ich mich ja auf little endian und hab nun offensichtlich big endian vorliegen. Aber warum das beim auslesen eines PNGs passiert konnte ich dem Text nicht entnehmen. Oder ist es sorum, dass RGBA eigentlich big endian ist, und der ichs dann umgekehrt interpretiert bekommen weil Windows little endian?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997877</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Wed, 22 Dec 2010 11:36:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 11:43:50 GMT]]></title><description><![CDATA[<p>edit: alles klar stimmt, PNG ist big endian</p>
<p><a href="http://www.w3.org/TR/2003/REC-PNG-20031110/#7Integers-and-byte-order" rel="nofollow">http://www.w3.org/TR/2003/REC-PNG-20031110/#7Integers-and-byte-order</a></p>
<p>damit ists erklärt woher der Dreher kommt...</p>
<p>Bleibt also noch warum mir OpenGL bei 32bit format per GL_RGBA nichts einlesen möchte... <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/1997879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997879</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Wed, 22 Dec 2010 11:43:50 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 12:58:11 GMT]]></title><description><![CDATA[<p>Vielleicht fragst du da besser im Grafik-Forum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997914</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 22 Dec 2010 12:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem unsigned char auf LPCSTR? on Wed, 22 Dec 2010 15:05:38 GMT]]></title><description><![CDATA[<p>Passt, ich habs hinbekommen indem ichs mit einer ByteSwap Function noch gedreht hab...</p>
<p>Wollte noch ein dickes Danke an euch, Decimad und MFK, sagen. Ihr wart damit wirklich eine große Hilfe bei meiner Diplomarbeit. Habe damit das Problem nicht nur lösen sondern auch wirklich verstehen können...<br />
Werd das Forum öfters besuchen um auchmal was beitragen zu können!</p>
<p>Grüße Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997955</guid><dc:creator><![CDATA[Sanschoo]]></dc:creator><pubDate>Wed, 22 Dec 2010 15:05:38 GMT</pubDate></item></channel></rss>