Unsigned char en C++

Résolu
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. c'est bon merci a vous
    0
    1. dsl, j'utilise pas les lib standard dans l'embarqué....
      @+
      0
      1. 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. 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. 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