Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
61K
30 декабря 2010 года
TauRN7
24 / / 30.12.2010
Мне нравитсяМне не нравится
6 апреля 2011, 14:42:57
в хинд stdlib исчите её теперь
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог