Comment lister les fichiers *.txt d'un répertoire sous linux? [C] - C - Programmation
Marsh Posté le 23-04-2005 à 09:09:27
Deux sujets identiques postés le même jour ! franchement ya de l'abus. Qu'on ne trouve pas une info postée il y a 6 mois je veux bien... mais là "salutsava" dépasse un peu les bornes. Faut qu'il arrête un peu de glandouiller et qu'il s'intéresse aux autres s'il veut qu'on s'intéresse à lui !!!
Marsh Posté le 23-04-2005 à 11:32:50
ls *.txt
Marsh Posté le 23-04-2005 à 12:33:16
Sve@r a écrit : Deux sujets identiques postés le même jour ! franchement ya de l'abus. Qu'on ne trouve pas une info postée il y a 6 mois je veux bien... mais là "salutsava" dépasse un peu les bornes. Faut qu'il arrête un peu de glandouiller et qu'il s'intéresse aux autres s'il veut qu'on s'intéresse à lui !!! |
"Et je casse, et je casse..." -- BdN
Marsh Posté le 23-04-2005 à 15:33:42
En effet.
Le ls *.txt, je connais bien.
Mais moi, je suis en train d'écrire un programme qui recherche un mot dans les fichiers *.txt d'un repertoire, mais je sais pas comment arriver a lister les fichiers ainsi trouvés...
Dans l'autre sujet, il s'agit du tri.
Il va falloir utiliser opendir, closedir, et readdir, mais je ne trouve pas les lignes exactes.
Marsh Posté le 23-04-2005 à 16:12:54
salutsava a écrit : En effet. |
Oui, c'est vrai que c'est assez ardu comme problème... grep -l "mot" *.txt
salutsava a écrit : Dans l'autre sujet, il s'agit du tri. |
Pour trier les fichiers d'un répertoire il faut d'abord les lire.
salutsava a écrit : Il va falloir utiliser opendir, closedir, et readdir, mais je ne trouve pas les lignes exactes. |
man opendir
man readdir
man closedir
opendir te renvoie un pointeur de type "DIR*" (un petit peu comme "fopen" te renvoie un "FILE *" )
Tu utilises ce pointeur dans "readdir()" en lui balançant aussi l'adresse d'une variable de type "struct dirent". La fonction va te remplir ta variable avec des infos sur les fichiers du répertoire traité (un peu comme "fgets" où tu lui balances l'adresse d'un tableau qui sera rempli avec plein d'octets en provenance du fichier lu) => une boucle est nécessaire parce que tu as beaucoup de fichiers à traiter
Tu fermes le répertoire une fois traité en utilisant "closedir" (un petit peu comme "fclose" )
Voilà... "Si tu sais lire, tu peux y arriver" -- BdN
Marsh Posté le 23-04-2005 à 17:58:07
En fait, j'ai le code sous windows.
Je voudrais juste l'adapter pour linux...
Code :
|
Comment peut on faire cela?
Marsh Posté le 23-04-2005 à 18:05:39
En n'utilisant pas les libs Windows, mais les libs standard.
La réponse figure dans ce post, la commande "man" est ton amie.
Marsh Posté le 23-04-2005 à 18:21:22
Le probleme c'est je n'ai justement pas pour le moment linux où je suis. Donc je ne peux pas faire appel a MAN...!
Marsh Posté le 23-04-2005 à 18:28:07
Je cherche juste à chercher dans un répertoire, les fichiers *.txt
Je ne vais donc pas ouvrir un repertoire et le fermer.
Cela parait bête mais je n'y arrive pas
Marsh Posté le 23-04-2005 à 18:28:58
"man opendir" sous Google ça marche aussi.
Premier lien trouvé en moins de 10s en tapant "man opendir" :
http://www.rt.com/man/opendir.3.html
Marsh Posté le 22-04-2005 à 22:12:19
Bonjour,
j'aimerais savoir comment obtenir la liste des fichiers *.txt d'un répertoire. Quelqu'un aurait il un programme pour cela?
Je veux que ce programme donne le nom des fichiers *.txt dans un répertoire... Je bloque dessus.
Merci
Message édité par salutsava le 22-04-2005 à 22:19:20