8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 134 135 136 137 138 139 140 ... 365

Запись строк

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

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

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

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

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

fprintf (f, 1ХпЭтот текст с новой строки.)

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

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

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

fprintf(F, Строка добавлена командой fprintf. ) fprintf(f, Еще строка.\n) fprintf(f, Этот текст с новой строки.) приводит к аналогичному результату.

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

str = Этот текст добавляется в файл. fprintf{F, str)

Подумайте, как в данном случае указать команде fprintf, что следующий вывод должен осуществляться с новой строки. Очевидно, что решение вопроса заключается в сцеплении строк либо при помощи квадратных скобок, либо с использованием strcat:

str = Этот текст запишется в файл, а следующий — с новой строки; fprintf (F, [str \п]); или fprintf (F, s.trcat(str, \п));

Создайте файл-программу, текст которой приведен в листинге 8.4, выполните ее и посмотрите содержимое файла example.txt, например, при помощи редактора М-файлов, установив в раскрывающемся списке Files of


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

:......... .,,.........................-----.............................................-.............--------..........................-.........1....................

[F, mes] =fopen{example.txt, w);

fprintf (F,"Эта строка добавлена командой fprintf);

fprintf(F,"Еще строка\п)

fprintf[F,1 Новая строка)

fciose(F);

Примечание

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

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

ТАБЛИЦА ЗНАЧЕНИЙ ФУНКЦИИ sin(x)

I х I у= sin(x)

Поставленная задача решается при помощи четырех вызовов fprintf (листинг 8.5).

\ Листинг 8.5. Файл-функция sintable для записи названия и шапки таблицы I в файл« .•* j

function sintable(filename)

% файл-функция для вывода таблицы sin(х) в файл % Использование sintable(filename)

% Добавьте проверку входных и выходных параметров

% Открытие нового файла для записи [F, mes] = fopen(filename, W); % Печать в файл заголовка таблицы

fprintf(F, ТАБЛИЦА ЗНАЧЕНИЙ ФУНКЦИИ sin(x)\n);

type диалогового окна Open фильтр All Files (*.*) для отображения списка всех файлов.


% Печать в файл шапки таблицы

fprintf (Р, 1-------------------\п);

fprintf(F, "Iх I У= sin(х)\п);

fprintf(F, -------------------\п);

% Закрытие файла fclose(F);

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

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

Задание формата вывода значений переменных в командное окно описано в главе 1. Например, форматы short, long, short е, long е задаются командой format или из меню рабочей среды. Функция fprintf допускает гораздо более гибкое управление видом записи чисел в файл. Схема использования fprintf при работе с числовыми переменными такова:

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

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

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

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

[F, mes] = fopen(twonum.txt, V); x = -pi/4; у = sin(x);

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

myview(1twonum.txt1);

Обратите внимание на второй аргумент команды fprintf. Код %7. 4f задает формат вывода переменной х, которая расположена на первом месте в спи-



0 ... 134 135 136 137 138 139 140 ... 365