Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с файловой системой DOS.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
299 Кб
Скачать
☆

Int creat(char *filename, int mode);

Эта функция и ее параметры описаны в файлах io.h, sys\types.h, sys\stat.h, errno.h.

Первый параметр определяет путь создаваемого файла и его имя. Если файл с указанным именем существует, и не имеет атрибута "Только читаемый", функция сбрасывает длину файла до нуля. Предыдущее содержимое файла при этом уничтожается.

Второй параметр позволяет задать атрибуты создаваемого файла. Он может иметь следующие значения:

S_IWRITE

для создаваемого файла разрешена операция записи;

S_IREAD

для создаваемого файла разрешена операция чтения;

S_IREAD | S_IWRITE

для создаваемого файла разрешены операции чтения и записи.

В операционных системах MS-DOS и OS/2 невозможно создать файл, в который можно было бы писать, но из которого было бы нельзя читать информацию. Поэтому задание второго параметра как S_IWRITE приведет к созданию такого файла, для которого разрешены как операция записи, так и операция чтения.

После создания файла функция creat() открывает новый файл и возвращает файловый индекс (handle) или код ошибки.

Функция open() предназначена как для открытия существующих файлов, так и для создания новых:

Int open(char *filename,

Int oflag [, int pmode]);

Первый и третий параметры в этой функции аналогичны параметрам функции creat(), причем третий параметр нужен только при создании нового файла. Квадратные скобки указывают на то, что этот параметр является необязательным.

Параметр oflag может являться результатом битовой операции ИЛИ над следующими константами, определенными в файле fcntl.h:

O_APPEN

при записи в файл информация будет добавляться в конец файла;

O_BINARY

файл открывается для работы в двоичном режиме (игнорируются управляющие символы, такие как конец строки);

O_CREAT

создается новый файл и открывается для записи; эта константа игнорируется, если указанный в первом параметре файл уже существует;

O_EXCL

используется вместе с O_CREAT; если указанный в первом параметре файл существует, функция возвратит признак ошибки;

O_RDONLY

файл открывается только для чтения, попытка записи в файл приведет к тому, что функция записи вернет признак ошибки;

O_RDWR

файл открывается как для чтения, так и для записи;

O_TEXT

файл открывается в текстовом режиме;

O_TRUNC

существующий файл открывается и обрезается до нулевой длины (если для этого файла разрешена операция записи);

O_WRONLY

файл открывается только для записи (в операционных системах MS-DOS и OS/2 для файла, открытого с признаком O_WRONLY разрешено выполнение операции чтения).

Для того, чтобы закрыть файл, открытый функциями creat() или open(), нужно использовать функцию close():