char-Variable in int-Variable speichern



  • Hallo,

    ich möchte gern den Wert eines char-Zeigers (sowie die drei darauffolgenden char-Werte -> entspricht dann einem int-Wert) in einer Int-Variable speichern.

    Also z.B. zeigt der char-Pointer auf 0x01 und anschleißend steht im Speicher 0x020304 -> dann möchte ich gern in der int-Variable 0x01020304 stehen haben.

    Die Speicheradresse des char-Zeigers ist 0x2F61, so dass er bei der folgenden Definition bei 0x2F60 anfängt mit die Variable in der Int-Variable zu speichern, wie kann ich das umgehen?

    intVariable = *(unsigned int *)ptr;
    

    Kann man das irgendwie mit memcpy umgehen? Habs zwar schon versucht, dabei bekomm ich nur einen DataAbort-Handler zurück. Arbeite mit dem Keil-Compiler.

    Gruß
    HansImGlück



  • char *ptr = "ABCD";

    int wert = ptr[0] << 24 + ptr[1] << 16 + ptr[2] << 8 + ptr[3];


Anmelden zum Antworten