Ich möchte in C++ einem Speicherbereich, auf den ein Pointer zeigt verschiedene Werte zuweisen.
Ich habe eine Klasse CDIB geschrieben, die eine DIB verwaltet.
Dabei will ich einem Pointer auf unsigned char die Daten des BITMAPINFOHEADER zuweisen. Danach will ich dahinter die Daten von RGBQUAD und dann die Daten der Bitmap schreiben.
Das ganze soll dann in etwa so aussehen:
Wie kann man das realisieren?
Ich habe bereits versucht mittels for-Schleifen alle Bytes von BIH, pPalette und der Datenbits durchlaufen zu lassen und dann einzeln diese zuzuweisen. Aber das klappt auch nicht.

Ich habe eine Klasse CDIB geschrieben, die eine DIB verwaltet.
Dabei will ich einem Pointer auf unsigned char die Daten des BITMAPINFOHEADER zuweisen. Danach will ich dahinter die Daten von RGBQUAD und dann die Daten der Bitmap schreiben.
Das ganze soll dann in etwa so aussehen:
Code:
unsigned char *pDib;
pDib = new unsigned char [Größe der DIB];
BITMAPINFOHEADER *BIH;
//BITMAPINFOHEADER mit Daten füllen
...
RGBQUAD *pPalette;
// Palette auf 2 Farben einstellen
...
*pDib = *BIH;
*(pDib + sizeof(BITMAPINFOHEADER) = *pPalette;
*(pDib + sizeof(BITMAPINFOHEADER) + sizeof(pPalette) = *Datenbits der Bitmap;
Ich habe bereits versucht mittels for-Schleifen alle Bytes von BIH, pPalette und der Datenbits durchlaufen zu lassen und dann einzeln diese zuzuweisen. Aber das klappt auch nicht.
