programme qui traite tous les fichiers d'un repertoire - C - Programmation
Marsh Posté le 04-02-2008 à 16:42:16
Bonjour tout le monde,
Je veux faire un programme qui liste tous les fichiers d'un repertoire et les ouvre tous un par un. Je vous montre le programme que j'ai fait:
#include <sys/types.h>
#include <dirent.h>
int main(void)
{
int n=0;
int nbMesures;
char ligne[512]; //Sert à récupérer la ligne de temps.
char point[512]; //Sert à récupérer le nombre de mesures d'un points.
char ligne2[512]; //Sert à récupérer la ligne d'atténuation.
char lignesuite[512];
char recupligne[512]; //recuperer le nom du fichier
struct dirent *lecture;
DIR *rep;
rep = opendir("/home/essai" );
while ((lecture = readdir(rep)))
{
n=n+1;
if (n>2)
{
printf("FICHIER: %s\n", lecture->d_name);
FILE* f = fopen(lecture->d_name,"r" ); //ici je veux ouvrir le fichier listé
FILE* f2 = fopen("resultat.txt","w" );
fscanf(f,"%s",& recupligne); //ici je veux recupérer la 1ere ligne du fichier listé
fprintf(f2,"%s", recupligne); //ici je veux écrire la ligne récupérer dans un fichier créé
}
}
closedir(rep);
return 0;
}
j'arrive à lister les fichiers mais pas à l'ouvrir!!! pourriez vous m'aidez?
Merci d'avance
Marsh Posté le 04-02-2008 à 16:53:24
Les sujets suivont ont étés fusionnés à ce sujet par Elmoricq
Marsh Posté le 04-02-2008 à 16:59:49
Bah, problème archi-classique : le champ "lecture->d_name" ne contient pas le répertoire.
Edit: arf et évite à tout prix fscanf("%s" ) pour récupérer une ligne dans un fichier. fgets() est beaucoup moins casse gueule.
Marsh Posté le 27-04-2008 à 20:37:16
bonjour,
Je suis sous windows avec VS 2005. Je suis débutant.
Je souhaite utiliser les fonctions opendir/readdir ... pour ouvrir et traiter uniquement les fichiers de type .spd. Ensuite je veux faire un .exe qui cherche et traite les fichiers qui sont dans le repertoire courant. Mais voila je comprends pas bien comment utiliser opendir().
Merci pour votre aide !
Code :
|
Marsh Posté le 03-02-2008 à 19:43:10
Bonjour,
Je vous explique mon probléme. J'ai un programme en C qui récupére des données (il ouvre un fichier et met les données dans un autre fichier) , j'ai un répertoire contenant environ 1000 fichiers, et il faut que je les traite tous. J'aimerais avoir un programme (une sorte de boucle???) en C qui permette de traiter tous les fichiers du repertoire 1 par 1.
Pourriez vous m'aidez???
Merci d'avance