Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа№7.docx
Скачиваний:
7
Добавлен:
01.06.2015
Размер:
89.87 Кб
Скачать

Лабораторная работа № 7 работа с файлами

Цель работы: Научиться пользоваться текстовыми файлами для сохранения результатов работы и чтения информации.

Основные теоретические положения

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

Работа с файлами в основном ограничивается тремя-четырьмя операциями:

  • Выделение ресурсов и приведение файла в состояние готовности к обмену (именно это скрывается за термином открыть файл);

  • Чтение (ввод из файла) или запись (вывод в файл) очередной порции данных;

  • Возврат выделенных ресурсов и завершение неоконченных операций (этому соответствует термин закрыть файл).

К числу наиболее важных моментов, связанных с обменом информацией, следует отнести формат представления данных на внешнем носителе. В большинстве своем почти все системы программирования (и MATLAB в этом смысле — не исключение) используют два формата данных — текстовые и двоичные.

Текстовые или символьные данные состоят из строк, похожих на те, которые мы набираем при вводе с клавиатуры или видим при выводе на экране дисплея. Для текстовых данных характерна переменная длина строки, завершающейся невидимым признаком конца (обычно эту функцию выполняют символы типа CR- возврат каретки, LF- перевод строки).

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

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

f_id=fopen(‘name_file’);

Для получения дополнительной информации, поясняющей причину ошибки при открытии файла, используется второй параметр

[f_id err_txt]=fopen(‘name_file’);

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

Второй входной аргумент функции fopen определяет режим доступа к определяемому файлу. Их значения:

Формат вызова

Выполняемое действие

fopen (‘name_f ile', ' r')

Открывается существующий двоичный файл для чтения

fopen (‘name_f ile', ' rt')

Открывается существующий текстовый файл для чтения

fopen (‘name_f ile', ' r+')

Открывается существующий двоичный файл, который можно использовать как для чтения, так и для записи (новый файл при этом не создается)

fopen ('name_file', ' rt+')

Открывается существующий текстовый файл, который можно использовать как для чтения, так и для записи (новый файл при этом не создается)

fopen ('name_file', 'w')

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

fopen (‘name_file', ' wt')

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

fopen ('name_file', ' w+')

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

fopen ('name_file', 'wt+')

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

fopen ('name_file', ' а')

Открывается существующий двоичный файл для дозаписи или создается новый файл

fopen (' name_f ile', ' at')

Открывается существующий текстовый файл для дозаписи или создается новый файл

fopen ('name_file', 'а+')

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

fopen (' name_file', ' at+')

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