Раздел: Документация
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
|