Bonjour;
Je souhaiterai recupérer tout les fichiers textes d'un repertoire (en ignorant les sous repertoires et les fichiers n'etant pas des .txt)...
Comment dois je faire? ( Fichier = readdir(Repertoire) )
Merci pour l'aide
Bonjour;
Je souhaiterai recupérer tout les fichiers textes d'un repertoire (en ignorant les sous repertoires et les fichiers n'etant pas des .txt)...
Comment dois je faire? ( Fichier = readdir(Repertoire) )
Merci pour l'aide
opendir(), une boucle de readdir(), et tu vérifies chaque nom de fichier...
Ne pas oublier le closedir() à la fin...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
ben oui mais comment verifier que je ne recupere que les fichier txt...car aujourd'hui je recupere tout meme les repertoires
Ne pas oublier de convertir le nom en uppercase ou lowercase pour avoir une comparaison indépendante de la casse...
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 /*---------------------------------------------------------------------------- Fonction endsWith(): fonction pour tester si une chaîne se termine par une autre Paramètres: toTest [in] Chaîne à tester end [in] La Fin voulue Retourne: Une valeur non-nulle si toTest se termine par end. ----------------------------------------------------------------------------*/ int endsWith(char const *toTest, char const *end) { size_t endLength = strlen(end); size_t toTestLength = strlen(toTest); int bResult = 0; if(toTestLength >= endLength) { char const * endToTest = toTest + toTestLength - endLength; if(strcmp(endToTest, end)==0) bResult = 1; } return bResult; }
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
bonjour,
oui c est sur que readdir te liste tout les fichiers (les repertoires sont des fichiers, speciaux certes, mais fichiers). Apres a toi de traiter que ceux qui t interessent ou pas.
Par contre les extensions de fichiers n ont pas enormement de sens sous unix.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Si quelqu'un a eu la bêtise de nommer un répertoire sous la forme « xxxxx.txt », tu peux vérifier la nature du fichier avec stat() et en vérifiant si le fichier que tu vérifies est bien un fichier ordinaire avec la macro S_ISREG(). -> man 2 stat.
C'est tout ce que tu peux faire à ce stade. Les reconnaissances « heuristiques » accomplies par la commande file, par exemple, sont menées en analysant le contenu du fichier.
Bon courage.
Partager