getfat

 Функция            Получает информацию из таблицы размещения файлов
                    указанного дисковода.

 Синтаксис          #include 
                    void getfat(unsigned char drive,
                                           struct fatinfo *dtable);

 Файл, содержащий   dos.h
 прототип

 Описание           Функция getfat возвращает информацию из таблицы
                    размещения файлов согласно спецификации устройст-
                    ва, заданной в параметре drive(0 = по умолчанию,
                    1=A:; 2=B:; и т.д.). Указатель dtable является
                    адресом структуры fatinfo, которая заполняется
                    информацией из таблицы.

                    Структура fatinfo, заполняемая функцией getfat
                    описывается следующим образом:

                    struct fatinfo {
                       char fi_sclus;  /* секторов на кластер */
                       char fi_fatid;  /* байт идентификации таблицы
                                       FAT (таблицы размещения файлов)
                    int fi_nclus;      /* количество кластеров */
                    int fi_busec;      /* количество байтов в секто-
                                          ре */
                    };

 Возвращаемое       Отсутствует.
 значение

 Переносимость      Функция уникальна для DOS.

 Смотрите также     getdfree getfatd

 Пример:

 #include
 #include
 #include

 int main(void)
 {
    struct fatinfo diskinfo;
    int flag = 0;
    printf("Вставте дискету в дисковод 'A'\n");
    getch();
    getfat(1,&diskinfo); /* получение инф-ции о дисководе */
    printf("Дисковод A:");
    switch((unsigned char)diskinfo.fatid)
    {
    case 0xFD: printf("360 Кбайт, одинарной плотности\n");
               break;
    case 0xF9: printf("5 1/4'' - 1.2 Mбайт или 3 1/2''- 720 Кбайт");
               break;
    case 0xF0: printf("3 1/2 - 1.44Мбайт\n");
               break;
    default:   printf("Неформатирован\n");
               flag = 1;
    }
    if(!flag)
    {
       printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus);
       printf("Количество кластеров: %5d\n",diskinfo.fi_nclus);
       printf("Байт на сектор: %5d\n",diskinfo.fi_bysec);
    }
    return 0;
 }