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(); } }