problème d'allocation de tableau
Bonsoir,
Je voulais copier le contenu de fichier "exemple.txt" dans un tableau dynamique tab de taille inconnue en avance. J'utilise le tableau pour faciliter la manipulation après.
Chaque ligne de fichier contient une chaine de caractère :
nom
prenom
age
adresse
emploi
Voici le programme:
Code:
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
|
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int allocation(int N)
{
FILE *fp;
char *t,s[100],attribut[32];
int i;
t = (char *) malloc((N)*sizeof(char));
fp=fopen("exemple.txt","r");
for(i=0; i < N;i++)
{
fgets(s, 100, fp);
sscanf(s,"%s",attribut);
strcpy(t[i],attribut);
printf("%s ",t[i]);
}
fclose(fp);
return 0;
}
int main ()
{
FILE *fp = NULL;
char s[100];
int N=0;
//N est calculer : c'est le nombre des lignes de fichier "attribut.txt" puisque chaque ligne de ce fichier contient un attribut qui est l'objet de la combinaison
while (fgets(s,100,fp)!= NULL)
N++;
allocation(N);
fclose(fp);
return 0;
} |
J'ai remarqué que le problème déclenche juste après l'ouverture de fichier "attribut.txt" dans la fonction allocation(N).
Comment on résoudre ce problème ?
Je serais très reconnaissant pour vos aides.
Merci.