русс | укр

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

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

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

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


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

Открытие файла.


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


 

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

FILE * fopen (const char *filename, const char * mode) ;

Здесь filename — указатель на строку, в которой должно быть физическое имя файла, содержащее имя диска, последовательность папок и имя файла с расширением. Второй параметр mode определяет тип (права) доступа к файлу а, значит, и тип операций, разрешённых над ним. Параметр может принимать следующие основные значения:

w — создаёт файл (первая буква слова write). Файл с записанным в filename именем не должен существовать в указанной папке. В противном случае он будет уничтожен. Указанные в filename папки должны, конечно, существовать;

r — открывает файл для чтения (первая буква слова read). Наоборот, файл должен существовать в указанной папке;

a —добавляет данные только в конец файла. Если файл не существует, то он будет создан, то есть этот режим в таком случае аналогичен режиму w. Но в отличие от режима w, если файл существует, то уничтожаться не будет.

Кроме этих трёх, можно использовать следующие вспомогательные режимы:

w+ — создаёт файл как для чтения, так и для создания, то есть для записи. В отличие от режима w файл не удаляется, если существует;

r+ — открывает файл как для чтения, так и для записи. Если файл не существует, то ошибки не будет, он будет создан;

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

После этих символов можно дописать букву ‘b’, если мы будем работать с файлом в двоичном режиме, или ‘t’, если в текстовом. Например, значением параметра mode может быть строка “wb”, что означает, что файл будет создан как двоичный. Если ни одна из этих букв не указана, то по умолчанию подразумевается текстовый режим.



Обе строки в функции fopen можно задавать как с помощью переменных, так и в виде константы. В имени файла символ ‘\’ должен быть продублирован, так как он используется для записи управляющего символа (‘\n’,’\t’ и другие).

Функция fopen выполняет следующие действия: открывает поток; связывает файл с этим потоком и возвращает указатель на структуру типа FILE. Если файл не может быть открыт, функция возвращает NULL. Причиной этого может быть отсутсвие указанной в fname папки, недостаточный объём памяти на диске при попытке записи на него, отсутствие файла при попытке чтения и другие.

Например,

FILE * fp;

fp=fopen("d:\\ANA\\cpp\\2005_06\\File1\\ bf1.dat","rb");

if (fp==NULL) { cout<<”Error “; exit(1); }

Оператор присваивания и оператор if можно объединить вместе следующим образом:

if((fp=fopen("d:\\ANA\\cpp\\2005_06\\File1\\ bf1.dat","rb"))==NULL)

{ cout<<”Error “; exit(1); }

При этом, так как операция присваивания имеет меньший приоритет, чем операция сравнения, то нужны внутренние скобки в операторе if. Этот фрагмент программы открывает существующий файл bf1.dat для чтения в двоичном режиме.

 



<== предыдущая лекция | следующая лекция ==>
Объявление файла | Закрытие файла.


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


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

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

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


 


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

 
 

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

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