Unsigned char en C++

Résolu
stevenbarthelemy Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
stevenbarthelemy Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voila mon probleme si on pouvait m'aider;
dans mon developpement il faut que je "transforme" un unsigned char,
un example:

unsigned char *nb="0001020304050607";

ce que je voudrai c'est le metre sus cette forme : {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}
donc avoir un unsigned char nb[8].

je suis depuis ce matin sur cette partie du programme, je chercher et ne trouve pas.
merci de votre aide,
bonne soirée,
A voir également:

3 réponses

chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
Salut,
tu peux t'inspirer de cela:
unsigned char CharToHex(char mot);
int main()
{
   unsigned char *n="0001020304050607AE";
   unsigned char nb[9];
   int i;
   for (i=0;i<9;i++,n++)
   {
       nb[i]=CharToHex(*n++)<<4|CharToHex(*n);
      printf("%X\n",nb[i]);
     //sinon cout<<hex<<(int)nb[i]<<endl;
   }
   return 0;
}
unsigned char CharToHex(char mot)
{
    if (mot>='0' && mot <='9')
        return mot&0x0F;
    if (mot>='A' && mot <='F')
        return mot-55;

}

@+
0
Jack
 
Mais c'est quoi cette horreur ?!!!!!!!!!!!!!!!!!
Encore 1 qui a "appris" le C dans Bonux ou le siteduzero !!!
Ca se fait en 1 ligne avec les fonctions standards !
0
ali
 
Absolument n'importe quoi .

"0001020304050607";
à
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}

=> il suffit de formater la sortie

Et faire une fonction CharToHex, alors que c'est inclus dans les fonctions natives, il faut le faire !!!
0
chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
dsl, j'utilise pas les lib standard dans l'embarqué....
@+
0
stevenbarthelemy Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
c'est bon merci a vous
0