русс | укр

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

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

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

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


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

Форматные операции ввода-вывода


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


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

Перед началом записи или чтения нужный файл следует открыть при помощи команды

 

FI=fopen ('NAME'. 'FLAG')

 

Имя файла NAME должно содержать путь, если файл берется из каталога, не указанного в списке каталогов Path Browser. Строковая переменная ' FLAG' определяет тип файла и способ работы с ним: ' t' – текстовый файл, ' b' – бинарный файл, ' г' – чтение, V – запись, " г+' – чтение и запись одновременно, ' а' – добавление в конец файла. Например, для чтения бинарного файла следует задать флаг ' rb', для записи текстового – 'wt'. Полученный в результате выполнения операции fopen числовой идентификатор FI используется в качестве параметра для функций fread и fwrite. Если открыть файл не удалось, то FI=-1. Чтобы закрыть файл, надо выполнить команду fclose(FI). Список команд ввода-вывода приведены в таблице 2.1.

 

Таблица 2.1

Имя Назначение
Fopen Открытие файла
Fclose Закрытие файла
Fread Считывание данных из файла
Fwrite Запись данных в файл
f scanf Считывание форматированных данных из файла
Fprintf Запись данных в файл или вывод на экран
Fgetl Считывание строки из файла без служебных символов
Fgets Считывание строки из файла со служебными символами
dlmread Чтение данных с разделителями из текстового файла
textread Чтение форматированных данных из текстового файла

 

Команда fread применяется для чтения бинарных файлов:

 

[AXOUNT]=fread (FI.SIZE.'PREC'.'SKIP')

 

Здесь А – имя матрицы, куда заносятся считываемые данные, a COUNT – число прочитанных элементов. Если дополнительный параметр SIZE отсутствует, то считывается весь файл, целое число N в качестве SIZE задает считывание N элементов и формирование вектора-строки, а при указании в качестве SIZE вектора [М, N] формируется матрица размера [M.N], причем параметр N может принимать значение inf. Параметр 'PREC задает число бит для записи чисел. Например, текстовая строка 'float64' указывает, что данные следует записывать в формате двойной точности, по 8 байт на число, а четырехбайтовый формат записи целых чисел задается строкой 'integer*4'. Перечень допустимых форматов можно получить по справке help fread. Дополнительный параметр 'SKIP' определяет число байтов, которое должно быть пропущено после считывания очередного элемента.



Команда fwrite используется для записи бинарных файлов:

 

COUNT=fwrite (FI, PARA.'PREC.'SKIP')

 

Здесь FI – идентификатор файла, PARA – имя записываемой переменной, а назначение остальных параметров то же, что и для команды fread.

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

Для считывания части данных используется функция f seek (FI, NUM.' FLAG'), служащая для перемещения на целое число NUM позиций, причем положительное NUM означает продвижение к концу файла, а отрицательное – к началу файла. После открытия файла указатель установлен на первый байт. После считывания очередного числа указатель переместится на столько байтов, каков формат чтения. Текущее положение выводится по команде ftell (FI). Для проверки достижения конца файла служит команда feof (FI). Для возврата в начало файла можно использовать функцию frewind (FI).

Бинарные файлы являются просто потоками байтов, а для работы с текстом, разбитым на строки, используются текстовые файлы. Такие файлы могут содержать как текст, так и числовую информацию, которую для записи предварительно следует перевести в строковые переменные при помощи команд num2str и int2str. Для чтения информации из текстовых файлов применяются функции fgetl, fgets и fscanf. Для записи служит функция fprintf, причем если файловый идентификатор равен единице или отсутствует, то вывод идет на экран. Для чтения и записи применяются форматные спецификации. Спецификации при вводе и выводе описаны в таблице 2.2.

 

Таблица 2.2

Код Описание
% d Чтение целого числа (при выводе – переменная double)
% u Чтение положительного целого числа (при выводе – переменная double)
% f Чтение вещественного числа (при выводе – переменная double)
% s Чтение строки с пробелами (при выводе – переменная типа cellstr)
% q Чтение строки (при выводе – переменная типа cellstr)
% c Чтение символов, разделенных пробелами (при выводе – переменная типа cellstr)


<== предыдущая лекция | следующая лекция ==>
Команды load и save | Объектно-ориентированное программирование


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


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

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

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


 


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

 
 

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

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