Описание функций Си

_Open



     _open

Функция открывает файл для чтения или записи.

Синтаксис #include

int _open(const char *filename, int oflags);

Файл, содержащий io.h прототип

Описание Функция _open открывает файл, имя которого опреде- лено параметром filename, и подготавливает его для для последующих операций чтения и/или записи, определяемых параметром oflags. Файл открывается в режиме, определяемом _fmode.

Для функции _open параметр oflags в DOS 2.x огра- ничивается тремя значениями: O_RDONLY, O_WRONLY O_RDWR. В DOS 3.x вводятся дополнительные значе- ния:

O_NOINHERIT - Включается, если файл не может быть передан дочерней программе.

O_DENYALL - Позволяет доступ к файлу только по текущему номеру handle.

O_DENYWRITE - Позволяет любому другому открытию файла только чтение.

O_DENYREAD - Позволяет любому другому открытию файла только запись.

O_DENYNONE - Разрешает разделенное открытие фай- ла.

Эти символические константы (O_...) определены в файле fcntl.h.

В единственный вызов функции open под версией DOS 3.x может быть включено только одно из значений O_DENYxxx. Эти атрибуты разделения доступа к фай- лу даны в дополнение к операциям блокировки.

Максимальное число одновременно открытых файлов задается, как параметр, при конфигурировании сис- темы.

Возвращаемое При успешном завершении _open возвращает целое значение неотрицательное число handle - логический номер открытого файла. Указатель файла (указатель теку- щей позиции) устанавливается на начало файла. При ошибке _open возвращает значение -1, и переменная errno получает одно из следующих значений:

ENOENT - Маршрут или имя файла не найдены; EMFILE - Слишком много открытых файлов; EACCES - Доступ запрещен; EINVACC - Неверный код доступа.

Переносимость Функция _open уникальна для DOS.

Смотрите также



Содержание раздела