Программирование на C и C++

Онлайн справочник программиста на C и C++

_dos_getftime

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;
}

Функции для работы со временем, датой и системные функции