Всем добрый вечер. Столкнулся со странный поведением функций FindFirstFile/FindNextFile.
Есть простенький код, который должен искать в папке C:\test все файлы, окончивающиеся символами 1.txt:
#include "stdafx.h"
#include "iostream"
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"russian");
HANDLE hSearch = NULL;
WIN32_FIND_DATA wfd;
memset(&wfd, 0, sizeof(WIN32_FIND_DATA));
if (!((hSearch = FindFirstFile("C:\\test\\*1.txt", &wfd)) == INVALID_HANDLE_VALUE))
do
std::cout<<wfd.cFileName<<std::endl;
while (FindNextFile(hSearch, &wfd));
FindClose (hSearch);
return 0;
}
Так вот, если в папке лежат файлы Form1.txt,Form2.txt и Form3.txt, то программа находит Form1.txt. Но если в папке лежат файлы Форма1.txt,Форма2.txt и Форма3.txt, то программа выводит ВСЕ 3 файла! Почему так происходит?? В чем тут подводные камни? Кто-нибудь сталкивался с подобным? Заранее спасибо всем откликнувшимся)
20.06.13 08:52: Перенесено модератором из 'C/C++. Прикладные вопросы' — Odi$$ey