本节介绍如何调用printf
以及相关函数。
以下函数可用于格式化输出。它们是以相同名称的C语言函数为模型的,但它们对格式模板的解释不同,以提高打印向量和矩阵值的性能。
支持说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,"\n"
=>换行符)即使在使用单引号定义模板字符串时也会展开。
(fid, template, …)
¶(template, …)
¶numbytes =
fprintf (…)
¶此函数等效于printf
,除了输出被写入文件描述符fid而不是stdout
.
如果fid被省略,输出被写入stdout
使函数完全等效于printf
.
可选输出numbytes返回写入文件的字节数。
支持说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,"\n"
=>换行符)即使在使用单引号定义模板字符串时也会展开。
str =
sprintf (template, …)
¶这就像printf
,但输出返回为跨步。
与C库函数不同,C库函数要求您提供一个合适的字符串作为参数,Octave的sprintf
函数返回字符串,自动调整大小以容纳所有转换的项目。
支持说明:为了与兼容MATLAB,模板字符串中的转义序列(例如。,"\n"
=>换行符)即使在使用单引号定义模板字符串时也会展开。
这个printf
函数可以用于打印任意数量的参数。在调用中提供的模板字符串参数不仅提供了有关附加参数数量的信息,还提供了有关它们的类型以及打印它们时应使用的样式的信息。
模板字符串中的普通字符只是按原样写入输出流,而转换规范从a介绍%字符导致后续参数前置并写入输出流。例如
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转换以指定打印字符串参数,并且%%转换为打印文字%符号
也有将整数参数打印为以Octave、十进制或十六进制基数(%o’,‘%u或%x分别地或作为字符值(%c’).
浮点数字可以使用%f转换或使用指数表示法%e转变这个%g转换使用其中之一%e或%f’格式,这取决于什么更适合特定数字的大小。
您可以通过编写更精确地控制格式修饰符在'之间%和指示应用哪种转换的字符。这些稍微改变了转换的普通行为。例如,大多数转换规范允许您指定最小字段宽度和一个标志,该标志指示您希望结果在字段内左对齐还是右对齐。
允许的特定标志和修饰符及其解释因特定转换而异。以下部分将对它们进行更详细的描述。
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2