FindFirstFile et FindNextFile

cs_mindark Messages postés 21 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 27 janvier 2003 - 12 févr. 2002 à 22:57
cs_mindark Messages postés 21 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 27 janvier 2003 - 13 févr. 2002 à 21:52
Bonjour,

Je fais une recherche de *.txt dans un repertoire.

J'execute dc FindFirstFile, puis FindNextFile, ca marche sans probleme..

Mais comme je fais une boucle pour trouver ts les .txt, ca donne :

while (h!=INVALID_HANDLE_VALUE)
{
FindNextFile (h,&info);
kk=info.cFileName;
}

Le probleme, c que une fois arrive au dernier fichier, FindNextFile me redonne encore le dernier fichier..
Comment je peux savoir que la recherche est finie svp ?

2 réponses

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
13 févr. 2002 à 07:23
HANDLE hfind;
WIN32_FIND_DATA wfd;

// Initialise la recherche
hfind = FindFirstFile("c:\\mes documents\\*.txt", &wfd);

' Si quelque chose à été trouver
if (hfind != INVALID_HANDLE_VALUE)
{

// Commence la boucle
do
{

// Si ce n'est pas le répertoire courant DOS ...
if (wfd.cFileName[0] != '.')
{

// Affiche le nom du fichier trouver
cout << wfd.cFileName << endl;

}

// Recherche le prochain
}while (FindNextFile(hfind, &wfd));

// Recherche terminer, ferme la recherche
FindClose(hfind);

// C'est terminer!!!
cout << "\r\rRecherche terminer!" << endl;

}
else
{

cout << "Aucun fichier n'a été trouver.\r";

}

Pour plus d'infos regarde le source 'FindFile' ou bien écrit-moi!

NitRic28@Hotmail.com
0
Rejoignez-nous