_Creat
_creat
Функция Создает новый файл или перезаписывает существующий.
Синтаксис #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.
Смотрите также
Пример:
#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; }