Bonjour,
J'ai un paquet en Hexa qui commence par 0x00 hors quand je converti celui-ci en ascii pour l'envoyé a mon client la chaine parait vide car celle-ci commence apparemment par \0...
Je ne vois donc pas comment envoyé mon paquet avec le caractère 0x00 n'importe ou dans mon paquet.
Je ne peux pas changer le protocole car ce n'est pas moi qui décide...
Voila la fonction qui me permet de convertire hexa -> ascii :
Si quelqu'un pouvait m'éclairer car je ne vois vraiment pas comment envoyé ce paquet...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 char* Data::HexToAscii(char* str) { int i = 0; char ascii[1024]; char hexToAscii[1024]; strcpy(hexToAscii, str); char *p = strtok(hexToAscii, " "); int n; while(p != NULL) { n = static_cast<int>(strtol(p, NULL, 16)); ascii[i] = (char)n; i++; p = strtok(NULL, " "); } ascii[i] = '\0'; return ascii; }
Merci bien !
Partager