Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

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

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS