Spec-Zone.ru › Octave 5

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

В этом разделе описывается, как вызывать printf и связанные функции.

Для форматированного вывода доступны следующие функции. Они моделируются по одноименным функциям языка C, но интерпретируют шаблон форматирования по-другому, чтобы повысить производительность при печати векторов и матриц.

Примечание к реализации: Для совместимости с MATLAB, управляющие последовательности в строке шаблона (например, "\n" => новая строка) расширяются даже тогда, когда строка шаблона определена с одинарными кавычками.

printf (шаблон, …)

Выводит необязательные аргументы под управлением строки шаблона шаблон в поток stdout и возвращает количество напечатанных символов.

Полное описание синтаксиса строки шаблона см. в разделе «Форматированный вывод» руководства GNU Octave.

Примечание к реализации: Для совместимости с MATLAB, управляющие последовательности в строке шаблона (например, "\n" => новая строка) расширяются даже тогда, когда строка шаблона определена с одинарными кавычками.

См. также: fprintf, sprintf, scanf.

fprintf (fid, шаблон, …)
fprintf (шаблон, …)
numbytes = fprintf (…)

Эта функция эквивалентна printf, за исключением того, что вывод записывается в дескриптор файла fid вместо stdout.

Если fid опущено, вывод записывается в stdout, делая функцию точно эквивалентной printf.

Необязательный вывод возвращает количество записанных байтов.

Примечание к реализации: Для совместимости с MATLAB, управляющие последовательности в строке шаблона (например, "\n" => новая строка) расширяются даже тогда, когда строка шаблона определена с одинарными кавычками.

См. также: fputs, fdisp, fwrite, fscanf, printf, sprintf, fopen.

sprintf (шаблон, …)

Это аналогично printf, за исключением того, что вывод возвращается в виде строки.

В отличие от функции библиотеки C, которая требует предоставления строки подходящего размера в качестве аргумента, функция Octave sprintf возвращает строку, размер которой автоматически настраивается для размещения всех преобразованных элементов.

Примечание к реализации: Для совместимости с MATLAB, управляющие последовательности в строке шаблона (например, "\n" => новая строка) расширяются даже тогда, когда строка шаблона определена с одинарными кавычками.

См. также: printf, fprintf, sscanf.

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

Обычные символы в строке шаблона просто записываются в поток вывода, а спецификации преобразования, начинающиеся с символа ‘%’, в шаблоне приводят к форматированию и записи последующих аргументов в поток вывода. Например,

pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of '%s'.\nPlease be patient.\n",
        pct, filename);

выводит:

Processed 37% of 'foo.txt'.
Please be patient.

Этот пример демонстрирует использование преобразования ‘%d’ для указания того, что скалярный аргумент должен выводиться в десятичной форме, преобразования ‘%s’ для указания вывода строкового аргумента и преобразования ‘%%’ для вывода литерального символа ‘%’.

Также существуют преобразования для вывода целочисленного аргумента как беззнакового значения в восьмеричной, десятичной или шестнадцатеричной системе счисления (‘%o’, ‘%u’ или ‘%x’ соответственно); или как значение символа (‘%c’).

Числа с плавающей точкой могут выводиться в обычной или фиксированной форме с использованием преобразования ‘%f’ или в экспоненциальной форме с использованием преобразования ‘%e’.

Преобразование ‘%g’ использует либо формат ‘%e’, либо ‘%f’, в зависимости от того, что лучше подходит для величины конкретного числа.

Вы можете более точно контролировать форматирование, написав модификаторы между ‘%’ и символом, указывающим на то, какое преобразование использовать. Эти модификаторы слегка изменяют обычное поведение преобразования. Например, большинство спецификаций преобразования позволяют указывать минимальную ширину поля и флаг, указывающий, нужно ли выравнивать результат слева или справа в поле.

Конкретные флаги и модификаторы, которые допускаются, и их интерпретация зависят от конкретного преобразования. Они подробно описаны в следующих разделах.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Formatted-Output.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API