Realiser la conversion d'un byte(caractere ASCII) en binair
Bonjour,
J'ai deja realisee(repris) une fonction qui realise cette conversion. Mais il me semble que j'obtiens des erreurs . Pouvez vous me confirmer ? Quelle est peut etre l'erreur flagrante de cette fonction ?
Code:
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
| char* type2bin(char dec,char* bin)
{
int r = 8;//nb de cases binaires
memset(bin,'0',r); //par defaut le nb bin est nul
bin[r] = 0;
while(r--)
{
bin[r] = '0' + ((dec & (1 << r)) != 0);
}
printf("bin=%s\n",bin);
return bin;
}
void convertByteToBinary(char *textByte,char *textBinary)
{//truncate to 128 bits
int n;
n=strlen(textByte);
char cat[n*8+1];
//char *cat;
char blb[9];
*cat = 0;
printf("n=%d\n",n);
//convert Byte To binaries
//printf("cat=%s\n",cat);
while(*textByte)
{
//conversion du char en binaire
type2bin(*textByte,blb);
//printf("blb=%s\n",blb);
strcat(cat,blb);
printf("cat=%s\n",cat);
textByte++;
}
// printf(" cat=%s\n",cat);
// printf("ici\n");
strncat(textBinary,cat,128);
printf("textBinary=%s\n",textBinary);
} |
En particulier char2bin realise la conversion byte -> binaire mais est elle fondee ?
Re: Realiser la conversion d'un byte(caractere ASCII) en bin
Citation:
Envoyé par Battosaiii
Code:
1 2 3
|
strncat(textBinary,cat,128);
} |
Si la chaine de destination n'a pas été initialisée avant un appel à strcat() ou strncat(), le comportement est indéfini.