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; char s[100]; int N=0; while (fgets(s,100,fp))!=NULL) N++; allocation(N); fclose(fp); return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionint allocation(int N) { FILE *fp; char **t,s[100],attribut[32]; int i,j; t = malloc(N * sizeof(*t)); if(t== NULL) { printf("probleme d'allocation\n"); exit(0); } fp=fopen("exemple.txt","r"); if (fp == NULL) { printf("impossible d'ouvrier le fichier\n"); exit(0); } rewind(fp); //copier le contenu du fichier dans le tableau for(i=0; i < N;i++) { fgets(s, 100, fp); sscanf(s,"%s",attribut); t[i] = malloc(strlen(attribut)+1); strcpy(t[i],attribut); printf("%s\n",t[i]); } //affichage le contenu de tableau for(j=0;j<N;j++) printf("j=%d %s\n",j,t[j]); fclose(fp); return 0; }
fpR = fopen ("resultat.txt","a");
char *donnees=NULL; void allocation() { FILE *fichier=fopen("fichier","r");//Ouverture du fichier if (fichier == NULL) return;//Vérification d'ouverture fseek(fichier,0,SEEK_END);//Indicateur de position du fichier à la fin int taille=ftell(fichier);//Nombre d'octets de 0 à l'indicateur (= taille du fichier) rewind(fichier);//Indicateur de position du fichier au début donnees=(char*)malloc(taille);//Tableau de même taille que le fichier if (donnees == NULL) return; //Vérification d'allocation int res=fread(donnees,1,taille,fichier);//Copie du contenu vers le tableau if (res != taille) return;//Vérification de copie fclose(fichier);//Fermeture du fichier } int main() { allocation(); return 0; }