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

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

_dos_creat, _dos_creatnew

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 (файл уже существует).

Пример: