Merci pour ta réponse, mais je pense que le propylène n'est pas la.
J'ai tout de même essayé ta solution sans succès.
Ce sera plus simple comme ca :
Voici ma fonction qui me permet de charger un mémoire une matrice NxM, et ce,
à partir d'un fichier texte formaté de la manière suivante :
N ENTIER
M ENTIER
a11 a12 ....a1M les aIJ sont des doubles
a21 a22 ....a2M
.
.
aN1 aN2 ....aNM
matrix* readm(FILE* f) {
int m,n;
fread(&n, sizeof(int), 1, f); //lire le premier entier
fseek(f, sizeof(char), SEEK_CUR);//passer le caractère '\n'
fread(&m, sizeof(int), 1, f); //lire le deuxième entier
fseek(f, sizeof(char), SEEK_CUR);//passer le caractère '\n'
printf("n = %d\n", n); //retourne à l'écran une valeur incohérente
printf("m = %d\n", m); //retourne à l'écran une valeur incohérente
matrix* mat = newMatrix(n, m); //allocation mémoire d'une nouvelle matrice
int i = 0;
int j = 0;
while (i<n) { // n et m ne sont des valeur insignifiantes, ca ne risque pas de marcher...
j = 0;
while (j<m) {
fread(mat->tab+i*mat->m+j, sizeof(double), 1, f);
if (j<m-1 && i<n-1) fseek(f, sizeof(char), SEEK_CUR); //On stoppe le fseek avant la fin
j++;
}
i++;
}
return mat;
}
Le problème est que je ne reçois aucune erreur de la part du compilateur... je ne vois
pas par où s'échappent mes petits octets...
Toute aide acceptée.