Difficulte a afficher des hexadecimale
Bonjour,
Cela fait la 3 eme fois que je n'arrive pas a afficher un hexadecimale en entier. mais lorsque je pointe sur un element du tableau de caractere representant l'hexa il y a affichage.
voici le code :
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
| void convertBinaryToHexa(char textHexa[32],char *textBin)
{
char b[5];
char ch;
b[4] = 0 ;
int i,n;
//*b=0;
//memset(b,'0',4);
n=strlen(textBin)/4;
//printf ("n=%d\n",n);
for(i=0;i<n;i++)
{
b[0]=textBin[i];
b[1]=textBin[i+1];
b[2]=textBin[i+2];
b[3]=textBin[i+3];
printf ("b=%s\n",b);
ch=convertHexa(b);
textHexa[i]=convertHexa(b);
printf("conv=%c\n",ch);
}
printf("conv=%c\n",textHexa[15]);
} |
Concretement la derniere ligne printf("conv=%c\n",textHexa[15]); permet de visualiser correctement textHexa[15] mais lorsque je fais a la meme ligne printf("conv=%s\n",textHexa); au lieu de la ligne precedente rien ne s'affiche !!!
Pourquoi ?
Re: Difficulte a afficher des hexadecimale
Citation:
Envoyé par Battosaiii
Concretement la derniere ligne printf("conv=%c\n",textHexa[15]); permet de visualiser correctement textHexa[15] mais lorsque je fais a la meme ligne printf("conv=%s\n",textHexa); au lieu de la ligne precedente rien ne s'affiche !!!
Pourquoi ?
Je crois que tu n'as pas très bien compris le fonctionnement de printf lorsqu'il est question de chaînes de caractères... Si un seul des caractères de la chaîne vaut la même valeur que '\0', l'affichage s'arrête.
Dans ton cas, si le premier caractère de textHexa vaut cela, il n'y aura donc pas d'affichage.
Jc
Re: Difficulte a afficher des hexadecimale
Citation:
Envoyé par Battosaiii
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void convertBinaryToHexa(char textHexa[32],char *textBin)
{
char b[5];
char ch;
b[4] = 0 ;
int i,n;
n=strlen(textBin)/4;
for(i=0;i<n;i++)
{
b[0]=textBin[i];
b[1]=textBin[i+1];
b[2]=textBin[i+2];
b[3]=textBin[i+3];
printf ("b=%s\n",b);
ch=convertHexa(b);
textHexa[i]=convertHexa(b);
}
} |
Il faut finaliser la chaine de destination 'textHexa' avec un 0. Il faut évidemment qu'il y ait la place pour ça...
D'une manière générale, il te manque un paramètre précisant la taille du tableau de sortie 'textHexa' afin de s'assurer qu'on ne déborde pas...