Функция Получает информацию из таблицы размещения файлов
указанного дисковода.
Синтаксис #include <dos.h>
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<stdio.h>
#include<conio.h>
#include<dos.h>
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;
}
|