Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ouvrir tout les fichiers d'un repertoire en C

15 réponses
Avatar
Hping
Bonjour,

voila j'aimerais faire un ptit prog qui ouvre tout les fichiers d'un
repertoire dont on connait pas leur nom ...
j'arrive a lister les fichier d'un repertoire mais j'arrive pas a les ouvrir
pendant le listage (car je voudrais faire une ptite recherche dans les
fichier en meme temps)

si vous avez un bout de code ou autre ca serait super :p
merci d'avance

10 réponses

1 2
Avatar
Arnold McDonald \(AMcD\)
Hping wrote:
Bonjour,

voila j'aimerais faire un ptit prog qui ouvre tout les fichiers d'un
repertoire dont on connait pas leur nom ...
j'arrive a lister les fichier d'un repertoire mais j'arrive pas a les
ouvrir pendant le listage (car je voudrais faire une ptite recherche
dans les fichier en meme temps)

si vous avez un bout de code ou autre ca serait super :p
merci d'avance



C'est ton code qu'il faudrait voir, parce que c'est pas difficile à faire
quand même d'ouvrir un fichier.

AMcD
Avatar
Hping
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

int main()
{
DIR *rep ;
struct dirent *file ;

rep = opendir ("c:test") ;
if (rep != NULL)
{
while (file = readdir(rep))
printf ("%sn", file->d_name) ;
(void) closedir (rep) ;
}
return 0;
}

j'utilise ca pour lister le repertoire mais pendant ce listage j'arrive pas
a ouvrir les fichiers a fur et a mesure pour effectuer une comparaisonn sur
chaque fichier :/
Avatar
Arnold McDonald \(AMcD\)
Hping wrote:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

int main()
{
DIR *rep ;
struct dirent *file ;

rep = opendir ("c:test") ;
if (rep != NULL)
{
while (file = readdir(rep))
printf ("%sn", file->d_name) ;
(void) closedir (rep) ;
}
return 0;
}

j'utilise ca pour lister le repertoire mais pendant ce listage
j'arrive pas a ouvrir les fichiers a fur et a mesure pour effectuer
une comparaisonn sur chaque fichier :/



C'est quoi ces fonctions opendir() et readdir() ??? T'es sûr que tu codes
sous Windows ?

Sous Windows, t'utilises FindFirst(), FindNext(), CretaeFile(), etc.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/
Avatar
Hping
oui oui c'est bien du C sous windows

essaye tu verra ca marche :)

Sous Windows, t'utilises FindFirst(), FindNext(), CretaeFile(), etc.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Avatar
Arnold McDonald \(AMcD\)
Hping wrote:
oui oui c'est bien du C sous windows

essaye tu verra ca marche :)

Sous Windows, t'utilises FindFirst(), FindNext(), CretaeFile(), etc.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/





Bah écoute, j'ai jamais vu ces fonctions moi. Je pense que tu confonds avec
du code UNIX... Déjà, un code Windows, ça commence avec un #include
<windows.h>.

Enfin, bref. Si tu veux scanner un répertoire :

FindFirstFile(), FindNextFile().

Puis FindClose() en fin de recherche.

Pour ouvrir un fichier, CreateFile().

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/
Avatar
Serge Paccalin
Le dimanche 25 décembre 2005 à 17:03:44, Arnold McDonald (AMcD) a écrit
dans fr.comp.os.ms-windows.programmation :

Hping wrote:
oui oui c'est bien du C sous windows

essaye tu verra ca marche :)

Sous Windows, t'utilises FindFirst(), FindNext(), CretaeFile(), etc.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/





Bah écoute, j'ai jamais vu ces fonctions moi.



Si son compilateur les fournit (gcc ?), pourquoi pas , Comme ça, son
code a une petite chance d'être portable entre Windows et Unix. Il me
semble que opendir/readdir, c'est du Posix.

Je pense que tu confonds avec
du code UNIX... Déjà, un code Windows, ça commence avec un #include
<windows.h>.

Enfin, bref. Si tu veux scanner un répertoire :

FindFirstFile(), FindNextFile().

Puis FindClose() en fin de recherche.

Pour ouvrir un fichier, CreateFile().



Je pense que son problème est ailleurs ; probablement une
incompréhension du concept de répertoire courant...

--
___________ 26/12/2005 12:19:53
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Avatar
Arnold McDonald \(AMcD\)
Serge Paccalin wrote:

Il me
semble que opendir/readdir, c'est du Posix.



Oui, vu la gueule, ça en a tout l'air :-).

Je pense que son problème est ailleurs ; probablement une
incompréhension du concept de répertoire courant...



De toute façon, cette utopie de vouloir écrire du code portable, ça génère
uniquement des problèmes, bonne chance à lui.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/
Avatar
Stephane Wirtel
> C'est quoi ces fonctions opendir() et readdir() ??? T'es sûr que tu codes
sous Windows ?


C'est une API qui fonctionne parfaitement sous Windows et DOS.


Sous Windows, t'utilises FindFirst(), FindNext(), CretaeFile(), etc.


Sous Windows, c'est du MFC, Win32, & Co...






Au fait, avant l'API Win32, il y avait l'API de la lib standard du C qui est portable.
Avatar
Stephane Wirtel
Arnold McDonald (AMcD) wrote:
Serge Paccalin wrote:

Il me
semble que opendir/readdir, c'est du Posix.



Oui, vu la gueule, ça en a tout l'air :-).

Je pense que son problème est ailleurs ; probablement une
incompréhension du concept de répertoire courant...



De toute façon, cette utopie de vouloir écrire du code portable, ça génère
uniquement des problèmes, bonne chance à lui.




Quoi comme problèmes très exactement ? :p
Avatar
Arnold McDonald \(AMcD\)
Stephane Wirtel wrote:

Quoi comme problèmes très exactement ? :p



Ben on va faire court : ça ne marche jamais !

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/
1 2