14.2.4格式化输出

本节介绍如何调用输出函数以及相关函数。

以下函数可用于格式化输出。它们是以相同名称的C语言函数为模型的,但它们对格式模板的解释不同,以提高打印向量和矩阵值的性能。

实施说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,n=>换行符)即使在使用单引号定义模板字符串时也会展开。

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

在模板字符串的控制下打印可选参数样板标准输出并返回已冲刺的字符数。

有关模板字符串语法的完整说明,详见GNU Octave手册的格式化输出部分。

可选输出numytes返回打印的字节数。

实施说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,n=>换行符)即使在使用单引号定义模板字符串时也会展开。

详见: 格式化输出, 把格式数据写成串, 扫描.

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

此函数等效于输出函数,除了输出被写入文件描述符fid而不是标准输出.

如果fid被省略,输出被写入标准输出使函数完全等效于输出函数.

可选输出numytes返回写入文件的字节数。

实施说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,n=>换行符)即使在使用单引号定义模板字符串时也会展开。

详见: fputs, fdisp, 写入文件, fscanf, 输出函数, 把格式数据写成串, fopen.

 
: str = sprintf (template, …)

这就像输出函数,但输出返回为跨步。

与C库函数不同,C库函数要求您提供一个合适的字符串作为参数,Octave的把格式数据写成串函数返回字符串,自动调整大小以容纳所有转换的项目。

实施说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,n=>换行符)即使在使用单引号定义模板字符串时也会展开。

详见: 输出函数, 格式化输出, sscanf.

这个输出函数函数可以用于打印任意数量的参数。在调用中提供的模板字符串参数不仅提供了有关附加参数数量的信息,还提供了有关它们的类型以及打印它们时应使用的样式的信息。

模板字符串中的普通字符只是按原样写入输出流,而转换规范从a介绍%字符导致后续参数前置并写入输出流。例如

pct=37;filename=“foo.txt”;printf(“已处理'%s'的%d%%。\n请耐心等待。\n”,pct,文件名);

返回类似的输出

已处理37%的“foo.txt”。请耐心等待。

此示例显示了'的使用d转换以指定向量参数应以十进制表示法打印,s转换以指定打印字符串参数,并且%%转换为打印文字%符号

也有将整数参数打印为以Octave、十进制或十六进制基数(%o’,‘u%x分别地或作为字符值(c’).

浮点数字可以使用f转换或使用指数表示法e转变这个%g转换使用其中之一ef’格式,这取决于什么更适合特定数字的大小。

您可以通过编写更精确地控制格式修饰符在'之间%和指示应用哪种转换的字符。这些稍微改变了转换的普通行为。例如,大多数转换规范允许您指定最小字段宽度和一个标志,该标志指示您希望结果在字段内左对齐还是右对齐。

允许的特定标志和修饰符及其解释因特定转换而异。以下部分将对它们进行更详细的描述。


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号