unsigned _dos_getdiskfree(unsigned char drive, struct diskfree_t *dfptr)
Прототип:
Описание:
Эта функция не определена стандартом ANSI С.
Функция _dos_getdiskfree() возвращает количество свободного места на диске, причем эти данные помещаются в структуру, на которую указывает параметр dfptr, где параметр drive задает диск. Диски нумеруются, начиная с 1, что соответствует диску А. Можно задать диск по умолчанию, присвоив параметру drive величину 0. Структура diskfree_t определена следующим образом:
struct diskfree_t { unsigned total_clusters; unsigned avail_clusters; unsigned sectors_per_cluster; unsigned bytes_per_sector; };
В случае успеха функция возвращает 0. При возникновении ошибки возвращается ненулевое значение, а переменная errno устанавливается равной значению EINVAL (недействительный диск).
Пример:
Следующая программа выводит число свободных кластеров, доступных для использования на диске С: #include <dos.h> #include <stdio.h> int main(void) { struct diskfree_t p; _dos_getdiskfree(3, &p); /* диск С */ printf("Number of free clusters is %d.", p.avail_clusters); return 0; }
