Функция
Создает новый файл.
Синтаксис
#include <dos.h>
int creatnew(const char *path, int mode);
Прототип
io.h
Описание
Функция creatnew идентична функции _creat, за исключением того, что если файл существует, то creatnew возвращает ошибку и не изменяет файл.
Возвращаемое значение
При успешном завершении creatnew возвращает дескриптор нового файла, неотрицательное число. Иначе возвращается -1.
В случае ошибки errno принимает одно из следующих значений:
EEXIST - файл уже существует.
ENOENT - маршрут или имя файла не найдены.
EMFILE - слишком много открытых файлов.
EACCES - отказ доступа.
Переносимость
Уникальна для DOS 3.0 и не работает на более ранних версиях DOS.
Пример
#include<string.h>
#include<stdio.h>
#include<errno.h>
#include<dos.h>
#include<io.h>
int main(void)
{
int handle;
char buf[11] = "0123456789";
handle = creatnew("DUMMY.FIL",0);
if(handle == -1)
printf("DUMMY.FIL уже существует\n");
else
{
printf("DUMMY.FIL успешно создан\n");
write(handle,buf,strlen(buf));
close(handle);
}
return 0;
}