Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа4.doc
Скачиваний:
14
Добавлен:
16.04.2015
Размер:
147.97 Кб
Скачать

Запись в текстовый файл

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

Запись строк

Добавление строки в текстовый файл осуществляется при помощи fprint, вызванной с двумя входными аргументами, — идентификатором файла и строкой с текстом, например команда

fprintf(F, 'Строка добавлена командой fprintf. ')

записывает соответствующую строку в файл с идентификатором f, присво­енным ему при открытии. Последующая команда fprintf выводит заданную строку сразу за предыдущей, а не на новой строке:

fprintf(F, 'Еще строка. ')

Для вывода текста с новой строки следует добавить символ перевода строки \n в начало новой строки после апострофа:

fprintf(F, '\n Этот текст с новой строки.')

В результате выполнения трех вышеперечисленных команд содержимое тек­стового файла станет следующим:

Строка добавлена командой fprintf. Еще строка.

Этот текст с новой строки.

Символ перевода строки \n можно разместить в конце строки, после кото­рой текст должен начинаться с новой строки, например последовательность команд

fprintf(F, 'Строка добавлена командой fprintf. ')

fprintf(F, 'Еще строка.\n')

fprintf(F, 'Этот текст с новой строки.')

приводит к аналогичному результату.

Вторым аргументом fprintf может быть не только строка, заклю­ченная в апострофы, но и строковая переменная:

str = 'Этот текст добавляется в файл.'

fprintf(F, str)

Форматный вывод

Схема использова­ния fprintf при работе с числовыми переменными такова:

fprintf (идентификатор, 'формат', список переменных)

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

Замечание

Идентификатор файла может быть опущен, в этом случае производится вывод в командное окно.

Разберем применение форматного вывода на простом примере. Требуется записать значения переменных х = pi/4 и у = sin(x) в файл в формате с плавающей точкой, оставляя четыре цифры после десятичной точки для х и шесть цифр — для у.

Файл-программа, демонстрирующая форматный вывод в файл:

[F, mes] = f open ( 'twonum.txt ', 'w');

x = pi/4;

у = sin (x) ;

fprintf (F, '%7.4f%11.8f ', x, y) ;

f close (F) ;

Содержимое файла twonum.txt составляют два числа — значения перемен­ных х и у с требуемым числом цифр. Обратите внимание на второй аргу­мент команды fprintf. Последовательность %7.4f задает формат вывода переменной х, которая расположена на первом месте в списке вывода. Знак процента указывает на начало формата, цифра 7 обозначает, что всего под значение переменной х отводится семь позиций, цифра 4 после разделите­ля-точки обеспечивает точность отображения результата — четыре цифры после десятичной точки. Спецификатор f указывает на то, что следует вы­вести число в формате с плавающей точкой. Аналогичным образом работает формат %n.8f для вывода у. Соответствие форматов и получаемого результата приведено на схеме, изображенной на рис. 1, каждая позиция под­черкнута.

Рис.1. Схема соответствия форматов вывода и результата

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

fprintf (F, 'х = %7.4f у = %11.8f, x, у) ;

Если теперь выполнить файл-программу, то получим:

х = -0.7854 у = -0.70710678

Завершение строки с форматами символом \n приводит к последующему выводу данных с новой строки. Кроме f, допустимы и другие спецификато­ры форматов, в частности, спецификатор e означает вывод в экспоненци­альной форме.