unsigned _dos_getftime(int fd, unsigned *fdate, unsigned *ftime)
Эта функция не определена стандартом ANSI С.
Функция _dos_getftime() возвращает время и дату создания файла, ассоциированного с дескриптором fd. Возвращаемые значения являются целыми числами, на которые указывают параметры ftime и fdate. Файл должен быть открыт с использованием _dos_creat(), _dos_open() или _dos_creatnew().
Объект, на который указывает параметр ftime, кодируется следующим образом:
Объект, на который указывает параметр fdate, кодируется следующим образом:
Как отмечено выше, год представляет собой число лет, прошедших с 1980 года. В 2000 году количество лет составит 20. Функция _dos_getftime() возвращает 0 в случае успеха. При возникновении ошибки возвращается ненулевое значение, а переменная errno устанавливается равной EBADF (недействительный дескриптор файла).
Следующая программа выводит год создания файла TEST.TST: #include <io.h> #include <dos.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> int main(void) { struct { unsigned day: 5; unsigned month: 4; unsigned year: 7; }d; unsigned t; int fd; if(_dos_open("TEST.TST", O_RDONLY, &fd)) { printf ("Cannot open file.\n"); exit (1); } _dos_getftime (fd, (unsigned *) &d, &t); printf("Date of creation: %u", d.year+1980); return 0; }
