русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Открытие / закрытие файла


Дата добавления: 2013-12-23; просмотров: 769; Нарушение авторских прав


 

До выполнения операций ввода-вывода в файл (из файла) на низком уровне необходимо открыть или создать файл одной из следующих функций: open( ), sopen( )илиcreat( ).

Функция sopen( )используется в том случае, когда необходимо дать возможность одновременного доступа к файлу для нескольких выполняющихся программ. Разумеется, речь идет о доступе к файлу в режиме чтения. Обычно файл блокируется для доступа со стороны других выполняющихся программ, и именно функция sopen( ) необходима для разрешения одновременного доступа.

При открытии файла в программу возвращается дескриптор файла, значение которого является целочисленным. В отличие от дескриптора указатель на поток есть указатель на структуру типа FILE,определенного в заголовочном файле stdio.h.

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

 

fd = open( имя_файла, флаги, права_доступа);

 

В программе дескриптор файла fd должен быть определен как intfd. Параметр имя_файла является указателем на массив символов, содержащий имя файла.

Второй параметр флаги определяет режим открытия файла, который является выражением, сформированным (с помощью '|' - побитовой операции ИЛИ) из одной или более предопределенных констант, размещенных в заголовочном файле fcntl.h.В некоторых реализациях UNIX эти константы находятся в файле sys/file.h.

Примечание.Обратите внимание на то, что в UNIX при образовании полного имени файла применяется символ '/' (прямой слэш), а не обратный слэш ('\'), как в MS-DOS.

 

Приведем в алфавитном порядке список констант, задающих режим открытия файла, с кратким описанием их назначения:

 

O_APPEND O_BINARY O_CREAT O_EXCL O_RDONLY O_RDWR О_ТЕХТ О_ТЕХТ - открыть файл для добавления (для записи в конец файла); - открыть файл в бинарном режиме (см §7.1.1); - создать и открыть новый файл; - если он указан вместе с флагом O_CREAT и файл уже существует, то функция открытия файла завершается с ошибкой. Этот флаг позволяет избежать непреднамеренного уничтожения уже существующего файла; - открыть файл только для чтения; - открыть файл и для чтения, и для записи; - открыть файл в текстовом режиме (см.§7.1.1); - открыть существующий файл и стереть его содержимое (подготовить для записи новой информации).

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



Третий параметр - права_доступа должен применяться только в режиме открытия файла O_CREAT,т.е. только при создании нового файла.

В операционных системах MS-DOS и Windows для задания параметра права_доступа используются следующие предопределенные константы:

S_IWRITE- разрешить запись в файл;

S_IREAD- разрешить чтение из файла;



<== предыдущая лекция | следующая лекция ==>
Ввод-вывод нижнего уровня | S_IREAD|S_IWRITE- разрешить и чтение, и запись (совпадает с S_IWRITE).


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.