Spec-Zone.ru › Octave 9

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

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

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

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

: printf (template, …)
: numbytes = printf (…)

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

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

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

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

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

: fprintf (fid, template, …)
: fprintf (template, …)
: numbytes = fprintf (…)

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

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

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

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

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

: str = sprintf (template, …)

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

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

Примечание по реализации: для совместимости с MATLAB escape-последовательности в строке шаблона (например, "\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–2026 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/v9.4.0/Formatted-Output.html

Spec-Zone.ru

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