Findfirstfile ?

Signaler
Messages postés
76
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
3 juillet 2007
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
bonjour a tous alors voila j'ai un petit souci avec cette fonction, le findfirstfile retourne un invalid handle value et je ne sais pas a quoi c'est du si quelqu'un voit d'ou cela peut provenir je l'en remercie par avance. Voici mon code :

_tcscpy (DirSpec, rep);
_tcscat (DirSpec, _T("*.*"));

hFind = FindFirstFile(DirSpec, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)
{
_tprintf (_T("Invalid file handle. Error is %u\n"), GetLastError());
CloseHandle(hFind);
return (-1);
}//end if
else
{
Name = FindFileData.cFileName;
_tcscpy(FileNameDebug,rep);
_tcscat(FileNameDebug,Name);
_TCHAR NewFileNameDebug[MAX_PATH];
_tcscat(NewFileNameDebug,_T("Zipper\"));
_tcscpy(FileNameDebug,chaine);
_tcscat(NewFileNameDebug,Name);
CopyFile(FileNameDebug,NewFileNameDebug,0);
while (FindNextFile(hFind, &FindFileData) != 0)
{
Name = FindFileData.cFileName;
_tcscpy(FileNameDebug,rep);
_tcscat(FileNameDebug,Name);
_TCHAR NewFileNameDebug[MAX_PATH];
_tcscat(NewFileNameDebug,_T("Zipper\"));
_tcscpy(FileNameDebug,chaine);
_tcscat(NewFileNameDebug,Name);
CopyFile(FileNameDebug,NewFileNameDebug,0);
}//end while

dwError = GetLastError();
if (dwError != ERROR_NO_MORE_FILES)
{
printf ("FindNextFile error. Error is %u\n", dwError);
CloseHandle(hFind);
return (-1);
}//end if
}//end else
CloseHandle(hFind);

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Affiche ton DirSpec et tu le sauras certainement.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
ah oui, et si INVALID_HANDLE_VALUE faut pas faire un FindClose() dessus.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
76
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
3 juillet 2007

j'ai un doute ma chaine de char doit etre ecrite avec des "\" ou des "" ? Merci encore :)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Des simples dans la variables que tu transmets aux fonctions.
Doublé c'est juste dans une constante chaine DANS LE CODE C mais en compilant il n'en restyera que des simples car '\' est un caractère d'échappement qui fait "interpréter" le caractère suivant.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++