Я использую вызовы Windows API FindFirstFile и FindNextFile для поиска файлов, соответствующих определенному шаблону строка в каталоге. Например, мне может понадобиться найти все файлы XML в каталоге, и поэтому я выполняю поиск с использованием шаблона "*.xml".
Я столкнулся с проблемой, что если я ищу 3-буквенное расширение, а расширение файла начинается с этого 3-буквенного расширения, оно будет подхвачено моим поиском, даже если расширение содержит больше символы после первых 3. Например, если мой файл называется somelongname.xmlaaaa, это будет вызвано поиском "*.xml". Краткое имя этого файла - somelo ~ 1.xml, которое соответствует моей подстановочной строке.
Я мог бы сделать свой собственный подстановочный знак, чтобы обойти эту проблему, но предположительно, что Windows API сможет сделать это более эффективно, чем я мог бы, и мой код будет проще. Насколько я могу судить, нет способа заставить эти функции игнорировать короткие имена. Есть ли какой-либо API-интерфейс Windows с этой функциональностью?