CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
getdfree
getdfree
Функция Получает информацию о наличии свободного места на
диске.
Синтаксис #include <dos.h>
void getdfree(unsigned char drive,
struct dfree *dtable);
Файл, содержащий dos.h
прототип
Описание Функция getdfree просматривает устройство,
задаваемое параметром drive (0= по умолчанию, 1=A,
и т. д.) и заполняет структуру dfree с адресным
указателем dtable характеристиками
соответствующего диска.
Структура dfree описывается следующим образом:
struct dfree {
unsigned df_avail; /* свободные кластеры */
unsigned df_total; /* общее количество клас-
теров */
unsigned df_bsec; /* байтов на сектор */
unsigned df_sclus; /* секторов на кластер */
};
Возвращаемое Функция getdfree не возвращает никакого значения.
значение В случае ошибки параметру df_sclus в структуре
dfree присваивается значение 0xFFFF.
Переносимость Функция уникальна для DOS.
Смотрите также getfat, getfatd.
Пример:
#include<stdio.h>
#include<stdlib.h>
#include<dir.h>
#include<dos.h>
int main(void)
{
struct dfree free;
long avail;
int drive;
drive = getdisk();
getdfree(dreve+1,&free);
if(free.df_clus == 0xFFFF)
{
printf("Ошибка getdfree\n");
exit(1);
}
avail = (long) free.df_avail * (long) free.df_bsec *
(long) free.df_sclus;
printf("На диске %c имеется %ld свободных байт\n",'A'+drive,avail);
return 0;
}
