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
21041
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
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
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
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
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
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
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