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.
Retour du terminal :
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
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; }
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
Partager