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" :
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
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
typedef struct 
	{
	unsigned int nb_colonnes;
	unsigned int nb_lignes;
	int *plan; //pointeur sur le tableau de nb_lignes * nb_colonnes
	} Un_tab2d;
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
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 :
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
Alors s'il vous plait n'hésiter pas à me donner vos suggestions.
Je vous remercie pour tout aide.