Bonjour à tous
Mon programma
compile très bien, mais à l'execution il me dit que j'ai un problème de Segmentation.
L'objectif du programme est :
- lister tous les fichier d'un répertoire
- afficher à l'écran les fichiers
- effacer les fichiers
Voici le résultat obtenu à l'exécution :
-------------------
On s'occupe du fichier blabla.txt
Erreur de segmentation
---------------------
Merci pour votre aide
#include <stdio.h>
#include <dirent.h>
int main(void){
DIR * rep = opendir("./dirB/");//on spécifie qu'on veut travailler dans le répertoire dirB
int c;
FILE * fichier;// il s'aggit du fichier qu'on va manipuler à l'impression
struct dirent * ent;
while(1){
//si le répertoire "dirB" existe
if (rep != NULL){
while ((ent = readdir(rep)) != NULL){
//ON ENTRE DANS LA PARTIE DU FICHIER
printf("On s'occupe du fichier %s\n", ent->d_name);
fichier = fopen(ent->d_name, "rb");//on ouvre le fichier en lecture seule fseek(fichier, 0L, SEEK_SET);// On se place au début du fichier
// Tant qu'on ne rencontre pas la fin du fichier, on lit un caractère...
while ((c = getc(fichier)) != EOF){ // ou encore while (!feof(fichier))
printf("%c", c);// Que l'on affiche à l'écran
}
fclose(fichier);//on ferme le fichier
remove(ent->d_name);//on supprime le fichier
//ON TERMINER LE MANIPULER LE FICHIER
//GRACE AU WHILE ON PASSE AU FICHIER SUIVANT
}
}
}
closedir(rep);
return 0;
}