Récupérer la valeur de retour de fgetc() dans un tableau
Bonjour, j'aimerais récupérer la valeur de fgetc() dans un tableau mais la valeur se réécrit à chaque fois, je ne vois pas mon erreur... Et ainsi je pourrais boucler sur le tableau et afficher la valeur en hexadécimale et en ASCII.
Merci d'avance pour l'aide.
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
|
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(void) {
FILE * file = fopen("test2.txt", "r");
int tab[23];
int compteur =0;
int valeurDecimale;
char c = fgetc(file);
while(c != EOF){
// c = fgetc(Fp);
if(isprint(c)!=0){
//printf("ok caractere imprimable\n");
printf("valeur décimale : %d\n",c);
printf("caractère ascii : %c\n",c);
printf("valeur hex: %02x\n", c);
printf("\n");
}else{
printf("le caractère n'est pas imprimable\n");
}
valeurDecimale = c;
for(int i = 0; i < 23; i++){
tab[i] = valeurDecimale;
}
c = getc(file);
compteur++;
}
printf("\n");
printf("tableau\n");
for(int i = 0; i < 23; i++){
printf("valeur dans le tableau : %d\n", tab[i]);
}
fclose(file);
return EXIT_SUCCESS;
} |
Retour du terminal :
valeur décimale : 98
caractère ascii : b
valeur hex: 62
valeur décimale : 111
caractère ascii : o
valeur hex: 6f
valeur décimale : 110
caractère ascii : n
valeur hex: 6e
valeur décimale : 106
caractère ascii : j
valeur hex: 6a
valeur décimale : 111
caractère ascii : o
valeur hex: 6f
valeur décimale : 117
caractère ascii : u
valeur hex: 75
valeur décimale : 114
caractère ascii : r
valeur hex: 72
le caractère n'est pas imprimable
tableau
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10
valeur dans le tableau : 10