Pointer auf char Array in Pointer auf Struktur casten



  • Hallo,
    ich hab versucht einen Typecast auf eine Struktur zu machen. Funktioniert leider nicht so wie ich mir das gedacht habe. Hier mein Code:

    Der buffer wird durch lesen einer Binary gefüllt, was funktioniert. Aber ids zeigt nicht auf den Inhalt von buffer.

    char *buffer = new char[ length ];
    
    struct IDS
      {
    	WORD e_magic;
    	WORD e_cblp;
    	WORD e_cp;
    	WORD e_crlc;
    	WORD e_cparhdr;
    	WORD e_minalloc;
    	WORD e_maxalloc;
    	WORD e_ss;
    	WORD e_sp;
    	WORD e_csum;
    	WORD e_ip;
    	WORD e_cs;
    	WORD e_lfarlc;
    	WORD e_ovno;
    	WORD e_res;
    	WORD e_oemid;
    	WORD e_oeminfo;
    	WORD e_res2;
    	DWORD e_lfanew;
      };  
    
     IDS* ids;
    
    ids         = (IDS*)buffer;
    

    Liebe Grüße



  • Warum nicht gleich ein

    IDS buffer;
    

    anlegen? Dann kannst du mit

    char* bytes = reinterpret_cast<char*>(&buffer);
    

    byteweise zugreifen.



  • Danke für deine Antwort.
    Aber ich will buffer wie IDS erscheinen lassen. Also nicht IDS in buffer casten sondern umgekehrt.
    Gruß


Anmelden zum Antworten