Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Подготовка файла к работе.




Для открытия файлов может использоваться функция fopen, которая в случае удачного завершения возвращает целочисленный положительный идентификатор файла f_id (называемый также номером файла). В простейшем варианте вызова указывается единственный входной аргумент – имя открываемого файла:

f_id=fopen('name_file');

В качестве открываемого файла может быть задано короткое имя, и тогда система пытается его отыскать сначала в рабочем каталоге, а затем осуществляет поиск во всех каталогах, доступных MATLAB. При задании полной спецификации поиск производится лишь в указанном каталоге. В случае неудачи возвращаемое значение равно -1. Для получения дополнительной информации, поясняющей причину ошибки при открытии файла, к фукнции fopen можно обратиться с двумя выходными параметрами:

[f_id err_txt]=fopen('name_file');

В случае ошибки в переменную err_txt будет занесено соответствующее сообщение. Если указанный файл обнаружен, то он открывается для чтения как бинарный файл.

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

Таблица 2.31.1. Варианты вызова функции fopen.

Формат вызова Выполняемое действие
   
fopen('name_file','r') Открывается существующий бинарный файл для чтения
fopen('name_file','rt') Открывается существующий текстовый файл для чтения
fopen('name_file','r+') Открывается существующий бинарный файл, который может использоваться как для чтения, так и для записи (новый файл при этом не создается)
fopen('name_file','rt+') Открывается существующий текстовый файл, который может использоваться как для чтения, так и для записи (новый файл при этом не создается)
fopen('name_file','w') Открывается существующий или создается новый бинарный файл для записи. Предыдущее содержимое существующего файла пропадает
fopen('name_file','wt') Открывается существующий или создается новый текстовый файл для записи. Предыдущее содержимое существующего файла пропадает
fopen('name_file','w+') Если существующий бинарный файл был ранее открыт, то его содержимое от текущей позиции указателя и до конца усекается. Если файл с таким именем не Существовал, то создается новый Файл. Открытый файл можно Использовать для записи и чления.
fopen('name_file','wt+') Если существующий текстовый файл был ранее открыт, то его содержимое от текущей позиции указателя и до конца усекается. Если файл с таким именем не Существовал, то создается новый Файл. Открытый файл можно Использовать для записи и чления.
   
fopen('name_file','a') Открывается существующий бинарный файл для дозаписи или создается новый файл.
fopen('name_file','at') Открывается существующий текстовый файл для дозаписи или создается новый файл.
fopen('name_file','a+') Открывается существующий бинарный файл для чтения и дозаписи. Если файла с указанным именем нет, то его создают.
fopen('name_file','at+') Открывается существующий текстовый файл для чтения и дозаписи. Если файла с указанным именем нет, то его создают.

Отметим, что иногда при открытии бинарных файлов по аналогии с языком программирования C++ к символам режима добавляют буку b (от английского слова binary – бинарный или двоичный): 'rb', 'wb' и т.д.

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

Заметим, что функция fopen допускает еще один вариант вызова:

v=fopen('all');

В этом случае она возвращает вектор с номерами всех файлов, открытых к рассматриваемому моменту времени (файлы с номерами 0, 1 и 2, закрепленными за системными файлами (это соответственно файл стандартного ввода (stdin), файл стандартного вывода (stdout) и файл, предназначенный для вывода сообщений об ошибках (stderr)), в этот список не влючаются.

 





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 487 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2160 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.