Bonjour,
mon but c'est de pouvoir lire un tableau en binaire à partir d'un fichier " test.txt" et d'afficher ce tableau.
le fichier "test.txt" :
Pour la definition du tableau j'utlise la struture suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 4 7 1 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0
Et voic maintenant la fonction que j'ai codé pour cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct { unsigned int nb_colonnes; unsigned int nb_lignes; int *plan; //pointeur sur le tableau de nb_lignes * nb_colonnes } Un_tab2d;
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 //lecture fichier binaire Un_tab2d *lire_tab2d_bin(char *nom_fichier){ FILE *in; Un_tab2d * ptr; int n; //ouverture du fichier if((in = fopen(nom_fichier, "rb")) == NULL){ perror("lire_tab2d_bin"); exit(1); } //allocation du tableau ptr->plan ptr = malloc(sizeof(Un_tab2d)); fscanf(in, "%d", &(ptr->nb_lignes)); fscanf(in, "%d", &(ptr->nb_colonnes)); printf("lignes = %d, colonnes = %d\n", ptr->nb_lignes, ptr->nb_colonnes); ptr->plan = malloc((ptr->nb_lignes)*(ptr->nb_lignes)*sizeof(int)); n = fread(ptr->plan, sizeof(int), (ptr->nb_lignes)*(ptr->nb_colonnes), in); printf(" n = %d\n", n); affiche_tab(ptr); fclose(in); return ptr; }
et voici le resutat lors de l exécution qui n'a rien à voir avec ce que j'ai voulu faire:
Alors s'il vous plait n'hésiter pas à me donner vos suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 lignes = 4, colonnes = 7 n = 14 824193290 824193312 824193312 822751520 824193056 824193056 824193056 807416074 807416096 807416096 822751520 824193312 824193312 824193312 2592 0 0 134089 0 0 0 0 0 0 0 0 0 0
Je vous remercie pour tout aide.
Partager