sortie:FindFirstFile et FindNextFile question
The first file found is LOG_09.TXT
Next file name is LOG_10.TXT
Next file name is LOG_11.TXT
Next fi (cut off word "file"?)
Fonction:
//Find last modified log file
hFind = FindFirstFile("..\\..\\LOGS\\LOG*.TXT", &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("FindFirstFile failed (%d)\n", GetLastError());
return;
}
else
{
printf("The first file found is %s<br>",FindFileData.cFileName);
//List all the other files in the directory.
while (FindNextFile(hFind, &FindFileData) != 0)
{
printf ("Next file name is %s<br>", FindFileData.cFileName); //NOT DISPLAYING ALL NAMES CONSISTENTLY??
}
dwError = GetLastError();
FindClose(hFind);
if (dwError != ERROR_NO_MORE_FILES)
{
printf ("FindNextFile error. Error is %u.\n", dwError);
return (-1);
}
}
Le mot "fichier" est en fait coupé court dans mon printf. Parfois, il affiche tous les noms de fichiers, parfois il en affiche quelques-uns, parfois il ne termine même pas la ligne citée printf, comme indiqué ci-dessus. Qu'est-ce qui cause cela et suis-je induit en erreur par la fonctionnalité printf? Dans le débogueur, il semble que tout va bien, mais je veux être certain et comprendre cela. Par exemple, je n'ai pas de caractère nul après i dans le fichier, n'est-ce pas? Pourquoi est-il coupé ici? Merci.
EDIT:Incorrect - Bibliothèque d'applications à un seul thread. (A été multithread avant, désolé)
L'impression dans un fichier donne la liste complète des fichiers alors que printf est "instable". Je ne sais pas, je comprends pourquoi ....
Votre programme exécute-t-il plusieurs threads? – luke
@Luke: Oui, c'est, cela va-t-il être modifié? @fbrereton: Je ne sais pas comment cela est sorti, mais c'est dans mon code. –
seul thread en mode débogage ... plus confus. –