CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
findfirst
findfirst
Функция Просматривает каталог диска. Синтаксис #include<dir.h> #include<dos.h> int findfirst(char * pathname, struct ffblk * ffblk, int attrib); Файл, содержищий dir.h прототип Описание Функция findfirst производит поиск в каталоге диска посредством системного вызова DOS 0x4E. Параметр pathname представляет собой символьную строку, содержащую необязательную спецификацию дискового устройства, маршрут поиска и имя искомого файла. Имя файла может содержать шаблоны (такие как ? или *). Если соответствующий файл найден, структура ffblk заполняется информацией о файле и каталоге, его содержащем. Cтруктура ffblk определена следующим образом: struct ffblk { char ff_reserved[21]; /* зарезервировано DOS */ char ff_attrib; /* атрибуты */ int ff_ftime; /* время */ int ff_fdate; /* дата */ long ff_fsize; /* размер */ char ff_fname[13]; /* имя файла */ }; Параметр attrib - это используемый в MS-DOS байт атрибута файла, который употребляется при выборе подходящих для поиска файлов. Параметр attrib может быть одной из следующих определенных в файле dos.h констант: FA_RDONLY - Атрибут "только чтение". FA_HIDDEN - Скрытый файл. FA_SYSTEM - Системный файл. FA_LABEL - Метка тома. FA_DIREC - Каталог. FA_ARCH - Архив. Более подробную информацию об этих атрибутах вы найдете в документе "Справочное руководство программиста по DOS". Отметим, что ff_ftime и ff_fdate содержат битовые поля для определения даты и времени. Эти структуры поддерживаются DOS. Обе 16-битовые структуры делятся на 3 поля: ff_ftime: биты 0-4 Секунды, деленные на 2. (т.е. 10 соответствует 20 секундам). биты 5-10 минуты ьиты 11-15 часы ff_fdate: биты 0-4 день биты 5-8 месяц биты 9-15 год с 1980 (т.е. 9 соответствует 1989) Структура ftime объявленная в io.h, использует поля времени и даты соответствующие этом. Смотрите функции getftime и setftime. Возвращаемое При успешном завершении, то есть при успешном значение поиске файла, соответствующего параметру pathname, функция findfirst возвращает значение 0. Если подходящих файлов больше не существует, или в имени файла допущена ошибка, функция возвращают значение -1 и глобальная переменная errno получает одно из следующих значений: ENOENT - Маршрут доступа или имя файла не найдены. а переменной doserrno присваивается одно из следующих значений: ENOENT - Маршрут доступа или имя файла не найдены. ENMFILE - Нет больше файлов. Переносимость Функция уникальна для DOS. Смотрите также findnext. Пример: #include <stdio.h> #include <dir.h> int main(void) { struct ffblk ffblk; int done; printf("Листинг каталога *.*\n"); done = findfirst(**.**,&ffblk,0); while (!done) { printf(" %s\n", ffblk.ff_name); done = findnext(&ffblk); } return 0; } Результат: Листинг каталога *.* FINDFRST.C FINDFRST.OBJ FINDFRST.MAP FINDFRST.EXE
Оставить комментарий
Комментарии
1.
6 апреля 2011, 14:42:57
в хинд stdlib исчите её теперь