Hexadecimal Werte in char speichern



  • Hallo zusammen,

    zur Einleitung, ich möchte in einem Char-Array Hex Werte speichern, die ich dann mit send() über einer TCP Verbindung verschicke, mit

    char buffer[1024];
    
    char[0] = 0xFF;
    char[1] = 0xFF;
    ....
    

    kann ich den Array manuell füttern, aber ich scheitere daran das automatisch laufen zu lassen, sprich ich will z.B die Integer Zahl 42 in Hex umwandeln und auf Position X in den Array schreiben. Vorschläge?

    TIA & Gruß
    Dominik



  • char zahl1, zahl2;
    
    zahl1 = 0xFF;
    zahl2 = 255;
    

    zahl 1 und zahl2 haben identische Werte.
    Du musst also 42 nicht erst in Hex umwandeln um
    es zu speichern. Für den Rechner macht es keinen
    Unterschied ob du ihm 42 oder 0x2A zuweist.



  • Hi und danke für deine Antwort, ich könnte schwören, dass das so gestern icht geklappt hat 😉

    Thx & cu
    Dominik



  • dnoetzel schrieb:

    char buffer[1024];
    
    buffer[0] = 0xFF;
    buffer[1] = 0xFF;
    ....
    

    Das ist genau genommen Unfug! Der Typ "char" kann den Wert 0xFF gar nicht darstellen!

    Wenn Du Werte von 0 bis 255 übertragen willst, solltest Du "unsigned char" als Typ angeben!



  • stimmt. soweit ich aber weiss wird der wert entsprechend umgewandelt - trotzdem sollte man natürlich aber unsigned char nutzen.

    mfg blan


Anmelden zum Antworten