IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Difficulte a afficher des hexadecimale


Sujet :

C

  1. #1
    Battosaiii
    Invité(e)
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut 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

  3. #3
    Battosaiii
    Invité(e)
    Par défaut
    Qu'est ce que tu raconte le premier terme est :
    textHexa[0]=convertHexa(b);
    or pour i=0 b retourne un Hexadecimal 0-9 A-F, donc je ne comprends pas ton commentaire .

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Difficulte a afficher des hexadecimale
    Citation Envoyé par Battosaiii
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

Discussions similaires

  1. Afficher des images sous directX
    Par cyberlewis dans le forum DirectX
    Réponses: 17
    Dernier message: 12/07/2004, 12h07
  2. [WINDOWS] Comment afficher en hexadecimale ?
    Par laurent_h dans le forum Windows
    Réponses: 7
    Dernier message: 31/03/2004, 22h35
  3. Réponses: 3
    Dernier message: 11/03/2004, 16h11
  4. Difficultés pour afficher un pixel à l'écran
    Par Bubonik software dans le forum C
    Réponses: 9
    Dernier message: 17/08/2003, 12h48
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo