Ouvrir plusieurs fichiers
Résolu/Fermé
A voir également:
- Ouvrir plusieurs fichiers
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment ouvrir un fichier dat - Guide
- Comment ouvrir un fichier 7z - Guide
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
15 mars 2014 à 13:07
15 mars 2014 à 13:07
Bonjour
Il te faut un tableau de caractère : nomFichier.
Ensuite : sprintf(nomFichier,"g%2d.txt",i); à mettre dans une boucle for.
Cela te permettra d'avoir nomFichier qui vaut : g01.txt, g02.txt, etc.
Il ne te reste plus qu'à faire fopen() pour ouvrir tous les fichiers.
Il faudra également faire le même procéder pour fermer les fichiers avec fclose().
Une autre possibilité est de passer par un tableau.
Cdlt,
Il te faut un tableau de caractère : nomFichier.
Ensuite : sprintf(nomFichier,"g%2d.txt",i); à mettre dans une boucle for.
Cela te permettra d'avoir nomFichier qui vaut : g01.txt, g02.txt, etc.
Il ne te reste plus qu'à faire fopen() pour ouvrir tous les fichiers.
Il faudra également faire le même procéder pour fermer les fichiers avec fclose().
Une autre possibilité est de passer par un tableau.
Cdlt,
Merci beaucoup pour cette aide précieuse. Concernant, la boucle pour ouvrir les fichiers ça a l'air de marcher. Mais ensuite pour le fopen, il me semble que le programme ne trouve pas les fichiers...
J'ai fais comme ça :
(c=1;c<=24;c++){
sprintf(nom,"g0%d.txt",c);
fp=fopen("nom","r");
}
J'ai fais comme ça :
(c=1;c<=24;c++){
sprintf(nom,"g0%d.txt",c);
fp=fopen("nom","r");
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
15 mars 2014 à 14:31
15 mars 2014 à 14:31
Ben, dans ton fopen tu mets "nom" qui ne correspondant pas à la variable nom mais au fichier "nom". Utilise : fopen(nom,"r");
Ensuite j'ai un warning à la ligne du scanf et je ne comprends pas non plus. cela doit être à cause du fp mais je ne vois pas..
for(t=0;t<=505;t++){
scanf(fp,"%c",&texte[t]);
printf("%c",texte);
}
for(t=0;t<=505;t++){
scanf(fp,"%c",&texte[t]);
printf("%c",texte);
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
15 mars 2014 à 17:18
15 mars 2014 à 17:18
Attention, quand tu fais fp=fopen(...); tu perds les fichiers ouverts précédemment. Il faudrait plutôt faire un tableau : fp[0]=fopen(...), fp[1]=fopen(...); etc.
scanf(fp,"%c",&texte[t]);
Il faut regarder les man pour bien connaître les prototypes...
Ce n'est pas scanf si tu utilises un fichier, mais fscanf().
scanf(fp,"%c",&texte[t]);
Il faut regarder les man pour bien connaître les prototypes...
Ce n'est pas scanf si tu utilises un fichier, mais fscanf().