Bonjour,
J''ai plusieurs chaînes de caractères représentant des caractères héxadécimaux mais qui sont des strings.
Un exemple de chaîne (et sa création) :
1 2 3 4 5 6 7 8
|
char *hex = NULL;
size = 2;
hex = malloc (sizeof (*hex) * (size + 1));
hex[size] = '\0';
// et enfin hex ressemble à quelque chose comme ça :
hex = "A2"; |
J'aimerais donc concaténer au début de la chaîne '\x' ou 0x pour que mon string soit considéré en hexa. J'ai bien essayé beaucoup de trucs dont le dernier en date :
1 2 3
|
strcat(pdu_connection, "\\x");
strncat(pdu_connection, hex, 2); |
Mais le souci est que \x est reconnu car des caractères, et est donc envoyé en tant que tel dans ma trame (qui sera envoyé par socket tcp).
Cette chaîne de caractère écrite en dur fonctionne parfaitement :
char BindTransceiver[] = "\x00\x00\x00\x2F\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x01\x73\x6D\x70\x70\x63\x6C\x69\x65\x6E\x74\x31\x00\x70\x61\x73\x73\x77\x6F\x72\x64\x00\x27\x56\x4D\x41\x27\x00\x34\x00\x00\x00";
Mais j'suis obligé d'automatiser sa génération, j'en aurais pas mal à créer.
Merci d'avance pour votre aide
Partager