fopen probleme d ouverture
bonjour tout le monde,
je galere sur mon tout petit code depuis deux jours a cause de cette fonction que je n arrive pas a faire marcher.
voici le topo
tout d abord j ouvre un fichier : "../list_test.txt"; la fopen marche.
ce fichier contient une liste de fichier que je dois ouvrir successivement, et c est la que ca ne marche plus:le plus bisard c est que fopen marche juste pour la derniere iteration du while.
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
| char * p1= malloc(17 );
p1="../list_test.txt";
FILE *f = fopen( p1, "rt" ); /* ouvre en lecture */
if (f==NULL) {
printf("erreur ouverture\n");
return 1; /* sort du programme (code erreur 1) */
}
while ( fgets( line, 256, f ) != NULL) /* essai lecture ligne */
{
char test[]="../test1/" ;
char * path = malloc(strlen(test)+ strlen(line) + 1 );
strcpy(path,test);
strcat(path,line); /*je fais une concatenation pour avoir la bonne adresse*/
printf("path : %s\n",path); /*je verifie l adresse et c est la bonne!*/
FILE *k = fopen(path,"rt" ); /* ouvre en lecture */
if (k==NULL) {
printf("erreur ouverture: %s\n",path);
return 1;
}
if (k!=NULL) {
printf("ouverture: %s\n",path);
fclose(k);
}
free(path);
}
fclose(f);
system("PAUSE");
return 0; |
j espere que qq pourra m aider
merci