Выход:FindFirstFile и FindNextFile вопрос
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"?)
Функция:
//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);
}
}
Слово "файл" на самом деле оборвалась в моем Printf. Иногда он отображает все имена файлов, иногда он отображает несколько, иногда он даже не заканчивает строку с кавычками printf, как показано выше. Что вызывает это, и меня вводят в заблуждение функциональностью printf? В отладчике все выглядит нормально, но я хочу быть уверенным и понять это. Например, у меня нет нулевого символа после того, как я в файле правильно? Почему это отрезано здесь? Благодарю.
EDIT:Неверный - Однопоточная библиотека приложений. (Было многопоточно, извините)
Печать в файл дает полный список файлов, в то время как printf одновременно является «неустойчивым». Не уверен, что я понимаю, почему ....
Ваша программа работает под несколькими потоками? – luke
@ Luke: Да, это так, нужно ли это изменить? @fbrereton: Не знаю, как это получилось, но это в моем коде. –
одиночная резьба в режиме отладки ... более путать. –