void getfat(unsigned char drive, struct fatinfo *fptr)
void getfatd(struct fatinfo *fptr)
Прототип:
Описание:
Эти функции не определены стандартом ANSI С.
Функция getfat() возвращает различную информацию о диске в дисководе, заданном параметром drive. Эта информация собирается из таблицы размещения файлов (FAT). Если параметр drive имеет значение 0, то используется диск по умолчанию. В противном случае 1 используется для диска А, 2 — для диска В и т.д. Структура, на которую указывает параметр fptr, загружается информацией из FAT. Структура fatinfo определена следующим образом:
struct fatinfo {
char fi_sclus; /* Число секторов на кластер */
char fi_fatid; /* Идентификатор FAT */
unsigned fi_nclus; /* Общее число кластеров */
int fi_busec; /* Число байт на сектор */
};
char fi_sclus; /* Число секторов на кластер */
char fi_fatid; /* Идентификатор FAT */
unsigned fi_nclus; /* Общее число кластеров */
int fi_busec; /* Число байт на сектор */
};
Функция getfatd() аналогична getfat(), за исключением того, что всегда используется диск по умолчанию.
Пример:
Следующая программа выводит общий объем в байтах диска, заданного по умолчанию:
#include <stdio.h>
#include <dos.h>
int main(void)
{
long total;
struct fatinfo p;
getfat(0, &p);
total = (long) p.fi_sclus * (long) p.fi_nclus * (long) p.fi_bysec;
printf ("Total storage capacity: %ld.", total);
return 0;
}
#include <stdio.h>
#include <dos.h>
int main(void)
{
long total;
struct fatinfo p;
getfat(0, &p);
total = (long) p.fi_sclus * (long) p.fi_nclus * (long) p.fi_bysec;
printf ("Total storage capacity: %ld.", total);
return 0;
}