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