Spec-Zone.ru › Octave 7

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, которая требует предоставления строки соответствующего размера в качестве аргумента, функция sprintf Octave возвращает строку, размер которой автоматически подстраивается для хранения всех преобразованных элементов.

Примечание реализации: для совместимости с 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/v7.2.0/Formatted-Output.html

Spec-Zone.ru

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