CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
findfirst, findnext - поиск файлов по шаблону
Описание
Системные вызовы findfirst и findnext используются для
поиска файлов, соответствующих шаблону, который может
охватывать целое множество файлов посредством исполь-
зования символов `*' или `?' в имени файла или его
расширении (но не в описании пути доступа к файлу).
Аргумент `attribute' является атрибутом искомого файла.
В обращении к findfirst может быть задано более одного
атрибутного бита. Соответствующие описания атрибутных
битов находятся в dos.h файле:
АТРИБУТ ТИП ФАЙЛА
FA_RDONLY 0x01
FA_HIDDEN 0x02
FA_SYSTEM 0x04
FA_LABEL 0x08
FA_DIREC 0x10
FA_ARCH 0x20
В случае нулевого значения `attribute' отыскиваются
все обычные файлы. Указатель на возвращаемую структу-
ру является статическим, так что, если эта информация
нужна, она должна быть скопирована в другой буфер.
Обращение к findnext дает следующий файл, подходящий
по шаблону, заданному в предшествующем обращении к
findfirst. Поэтому вызовы findnext должны следовать за
вызовом findfirst.
Использование
#include <dos.h>
struct FIND *findfirst(char*partname, int attribute);
struct FIND *findnext(void);
Возвращаемое значение
В случае успеха возвращает указатель на статическую
структуру FIND, определенную в dos.h файле, или NULL
для индикации конца поиска или ошибки.
Пример
#include <stdio.h>
#include <dos.h>
main()
{
struct FIND *p;
printf("Вывод каталога *.*\n");
p = findfirst("*.*", 0);
while (p)
{
printf("%s\n", p->name);
p = findnext();
}
}
