unsigned _dos_creat(const char *fname, unsigned attr, int *fd)
unsigned _dos_creatnew(const char *fname, unsigned attr, int *fd)
Эти функции не определены стандартом ANSI С.
Функция _dos_creat() создает файл с именем, на которое указывает параметр fname, и с атрибутами, указанными параметром attr. Она возвращает дескриптор файла в переменной целого типа, на которую указывает параметр fd. Если файл уже существует, то он удаляется. Функция _dos_creatnew() является точно такой же, как и функция _dos_creat(), за исключением того, что в случае существования файла он не удаляется, а функция _dos_creatnew() возвращает ошибку.
Параметр attr может принимать значения, показанные ниже. (Макросы определены в файле dos.h.)
Макрос | Значение |
---|---|
_A_NORMAL | Нормальный файл |
_A_RDONLY | Файл только для чтения |
_A_HIDDEN | Скрытый файл |
_A_SYSTEM | Системный файл |
_A_VOLID | Метка тома |
_A_SUBDIR | Подкаталог |
_A_ARCH | Архивный файл |
Обе функции возвращают в случае успеха 0 и ненулевую величину при ошибке. В последнем случае переменная errno содержит одну из следующих величин: ENOENT (файл не найден), EMFILE (слишком много открытых файлов), ЕACCESS (отказ в доступе) или EEXIST (файл уже существует).