_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.
Смотрите также