Findfirstfile ?

lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007 - 8 févr. 2006 à 16:47
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 9 févr. 2006 à 10:19
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 févr. 2006 à 17:20
Affiche ton DirSpec et tu le sauras certainement.

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

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007
9 févr. 2006 à 09:36
j'ai un doute ma chaine de char doit etre ecrite avec des "\" ou des "" ? Merci encore :)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 févr. 2006 à 10:19
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++
0
Rejoignez-nous