1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
unsigned int div256(unsigned char tab[], unsigned int nbtab)
{
unsigned int A, R ,i;
A = tab[0];
R = 0;
for(i = 0; i<nbtab;i++)
{
A = 10*R +tab[i];
printf ("pour i= %d, valeur de A = %d\n", i, A);
tab[i] = A/256;
printf ("pour i= %d, valeur de tab[i] = %s\n", i, tab[i]);
R = A%256;
printf ("pour i= %d, valeur de R = %d\n", i, R);
}
printf ("FINAL, valeur de R = %d\n", R);
return R;
}
unsigned char* ascii2binary (char tab[], unsigned int nbtab, unsigned char dest[],
unsigned int nbdest)
{
unsigned int i;
// Si les données de départ sont en caractères :
for(i=0 ; i<nbtab ;i++ ) tab[i] = tab[i]-'0';
for(i=0 ; i<nbdest;i++ ) dest[i] = div256(tab,nbtab);
printf ("valeur de dest = %s\n", dest);
return dest;
}
int main()
{
float var, ter, ref, rep ;
unsigned char dest[41];
char * badgeid_tab="1234567891234567891234567891234567891234"; //ce type pour badgeid_tab car il est recupéré comme ça
int lentab = strlen(badgeid_tab) ;
int lendest = sizeof dest /sizeof *dest;
printf ("hello\n");
*dest=ascii2binary(badgeid_tab,lentab,dest,lendest); //55 Warning
return 0;
} |
Partager