Функция Создает новый файл или перезаписывает существующий.
Синтаксис #include
int _creat(const char * path, int attrib);
Файл, содержащий io.h
прототип
Описание _creat берет аргумент attrib - слово атрибутов
DOS. Файл всегда открывается в двоичном режиме.
При успешном создании файла указатель файла уста-
навливается на начало этого файла. Файл открыва-
ется сразу для чтения и записи.
Если файл уже существует, то его размер устанав-
ливается равным 0. (Это эквивалентно удалению
файла и созданию нового файла с этим же именем).
Аргумент attrib в _creat может быть одной из сле-
дующих констант (определенных в dos.h):
FA_DRONLY Только чтение
FA_HIDDEN Скрытый файл
FA_SYSTEM Системный файл
Возвращаемое При успешном завершении _creat возвращает дескрип-
значение тор нового файла, неотрицательное число; иначе воз-
вращается -1.
В случае ошибки errno принимает одно из следующих
значений:
ENOENT - Маршрут или имя файла не найдены
EMFILE - Слишком много открытых файлов
EACCES - Отказ доступа
Переносимость _creat уникальна для DOS.
Смотрите также _chmodchsize_closeclosecreatcreatnewcreattemp
Пример:
#include
#include
#include
#include
#include
#include
#include
int main(void)
{
int handle;
char buf[] = "0123456789";
/* создать файл для чтения и записи в двоичном режиме */
if((handle = _creat("DUMMY.FIL",0)) < 0)
{
switch(errno)
{
case ENOENT: printf("Ошибка:Маршрут или имя файла не найдены.\n");
break;
case EMFILE: printf("Ошибка:Слишком много открытых файлов.\n");
break;
case EACCES: printf("Ошибка: Отказ доступа\n");
break;
default: printf("Ошибка при создании файла\n");
break;
}
exit(1);
}
/* записать в файл строку с завершающим нулевым символом */
write(handle,buf,strlen(buf)+1);
/* закрыть файл */
close(handle);
return 0;
}