Иллюстрированный самоучитель по MatLab

Операции над форматированными файлами

Файлы, содержащие форматированные данные, называют форматированными файлами. Ниже представлены функции, которые служат для работы с такими файлами.

  • line = fgetl (fid) – возвращает строку из файла с идентификатором fid с удалением символа конца строки. Если функция fgetl обнаруживает конец файла, то она возвращает значение – 1 (см. функцию fopen с более подробным описанием fid);
  • line = f gets (fid) – возвращает строку из файла с идентификатором fid, не удаляя символ конца строки. Если функция fgets обнаруживает конец файла, то она возвращает значение – 1;
  • line = fgets(fid.nchar) – возвращает не больше чем nchar первых символов строки. После признака конца строки или конца файла никакие дополнительные символы не считываются (см. примеры к функции fscanf);
  • count = fprintf(fid.format,A….) – форматирует данные, содержащиеся в действительной части матрицы А, под контролем строки format и записывает их в файл с идентификатором fid. Функция fprintf возвращает число записанных байтов. Значение идентификатора fid – целое число, возвращаемое функцией fopen.

Если опустить идентификатор fid в списке аргументов функции fprintf, то вывод будет осуществляться на экран, так же как при использовании стандартного вывода (fid=l).

  • fprintf(format,A….) – запись осуществляется на стандартное устройство – экран (но не в файл). Строка format определяет систему счисления, выравнивание, значащие цифры, ширину поля и другие атрибуты выходного формата. Она может содержать обычные буквы алфавита наряду со спецификаторами, знаками выравнивания и т. д.

Таблица 19.1. Специальные символы в строках формата.

Символ Описание
\n Новая строка
\t Горизонтальная табуляция
\b Возврат на один символ
\r Возврат каретки
\f Новая страница
\\ Обратный слеш
\" или" Одиночная кавычка
%% Процент

Функция fprintf ведет себя, как аналогичная функция fprintf () языка ANSI С и с некоторыми исключениями и расширениями. В табл. 19.1 описаны специальные символы, встречающиеся в строке format. Для вывода числовых или символьных данных в строке формата необходимо использовать спецификаторы, перечисленные в табл. 19.2.

Таблица 19.2. Спецификаторы формата вывода данных.

Спецификатор Описание
%d Десятичная система обозначений (со знаком)
Одиночный символ
Экспоненциальное представление чисел с использованием символа "е" в нижнем регистре, например 3.1415е + 00
Экспоненциальное представление чисел с использованием символа "Е" в верхнем регистре, например 3.1415Е + 00
%f Система обозначений с фиксированной точкой
%g Наиболее компактный вариант из %е и %f. Незначащие нули не выводятся
%G То же самое, что и %д, но используется верхний регистр для символа "Е"
Восьмеричная система обозначений (без знака)
%s Строка символов
%u Десятичная система обозначений (без знака)
%x Шестнадцатеричная система обозначений с использованием символов нижнего регистра ("a"…"f")
%X Шестнадцатеричная система обозначений с использованием верхнего регистра символов ("A"…"F")

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

Таблица 19.3. Параметры спецификаторов формата.

Символ Описание Пример
Знак "минус" (-) Выравнивание преобразованных аргументов по левому краю %-5.2d
Знак "плюс" (+) Всегда печатать знак числа (+ или – ) %+5.2d
Ноль (0) Заполнение нулями вместо пробелов %05.2d
Цифры Определяет минимальное число знаков, которые будут напечатаны %6f
Цифры (после точки) Число после точки определяет количество символов, печатаемых справа от десятичной точки %6.2f
  • А = fscanf(fid,format) – читает все данные из файла с идентификатором, fid, преобразует их согласно значению параметра format и возвращает в виде матрицы А. Значение идентификатора fid – целое число, возвращаемое функцией fopen. Параметр format представляет собой строку, определяющую формат данных, которые необходимо прочитать;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.