Unsigned char en C++

Résolu
stevenbarthelemy Messages postés 13 Statut Membre -  
stevenbarthelemy Messages postés 13 Statut Membre -
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,
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. chuka Messages postés 980 Statut Membre 379
     
    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
    1. 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
    2. 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
  2. chuka Messages postés 980 Statut Membre 379
     
    dsl, j'utilise pas les lib standard dans l'embarqué....
    @+
    0
  3. stevenbarthelemy Messages postés 13 Statut Membre
     
    c'est bon merci a vous
    0