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 (недействительный дескриптор файла).
#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;
}