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 : 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;
}
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