HexArray -> String?



  • Hallo

    Ich werde noch wahnsinnig

    unsigned char temp[4] ={0x01,0x02,0x03,0x04};
    printf("%x\n", temp[1]);
    std::cout<<std::hex<<temp[0];
    

    wie komm ich mit cout an den Inhalt sprich 1234? und vor allem wie mach ich einen string vom dem unsigned array dass dort 1234 steht? wie cast ich das?

    thx



  • Hallo das Initialisieren: unsigned char temp[4] ={0x01,0x02,0x03,0x04};
    dürfte so nicht funktionieren.

    Willst / kannst du Strings benutzen ?
    string hex_arr[4];

    hex_arr[0] = "0x01";
    hex_arr[1] = "0x02";
    hex_arr[2] = "0x03";
    hex_arr[3] = "0x04";



  • printf("%x\n", temp[1]);

    das gibt mir aber 1 aus cout nicht? was ist falsch?

    strings kann ich nicht verwenden ich muss ein bestehendes unsigned char mit hex gefüllt in string umwandeln!

    so könnte man ein unsigned char auch initialisieren oder

    unsigned char* sn = (unsigned char*)malloc(4*8);
    sn[0] = 0x01; sn[1] = 0x01; sn[2] = 0x01; sn[3] = 0x01;



  • std::cout << static_cast< int > (temp[0]);
    

    So?

    Gruß
    Don06



  • so is besser:

    unsigned char* sn = (unsigned char)malloc(4*sizeof(unsigned char)); 
    
    sn[0] = 0x01; 
    sn[1] = 0x01; 
    sn[2] = 0x01; 
    sn[3] = 0x01;
    

Anmelden zum Antworten