GoGPT Best VPN GoSearch

OnWorks 网站图标

printfposix - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 printfposix

这是 printfposix 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


printf — 写入格式化输出

概要


的printf 格式 [论点...]

商品描述


这个 的printf 实用程序应将格式化的操作数写入标准输出。 这 论点
操作数应在控制下进行格式化 格式 操作数。

配置


无。

操作数


应支持以下操作数:

格式 描述用于写入剩余操作数的格式的字符串。 见
扩展说明部分。

论点 要写入标准输出的字符串,由 格式。 看
扩展描述部分。

标准输入


不曾用过。

INPUT FILES


无。

环境 变数


以下环境变量会影响执行 的printf:

为未设置或未设置的国际化变量提供默认值
空值。 (参见 POSIX.1-2008 的基本定义卷, 部分 8.2,
国际化 变量 国际化变量的优先级
用于确定语言环境类别的值。)

LC_ALL 如果设置为非空字符串值,则覆盖所有其他字符串的值
国际化变量。

LC_CTYPE 确定用于解释文本数据字节序列的语言环境
作为字符(例如,单字节而不是多字节字符
论据)。

LC_消息
确定应该用于影响格式和内容的语言环境
写入标准错误的诊断消息。

LC_NUMERIC
确定数字格式的区域设置。 它会影响格式
用 写的数字 e, E, f, gG 转换说明符字符(如果
支持的)。

路径 确定用于处理的消息目录的位置 LC_消息.

异步 精彩活动


默认。

标准输出


请参阅扩展说明部分。

斯特德


标准错误应仅用于诊断消息。

OUTPUT FILES


无。

EXTENDED 商品描述


这个 格式 操作数应用作 格式 基本定义中描述的字符串
POSIX.1-2008 卷, 章节 5, 文件 格式 符号 下列情况除外:

1.一个在格式字符串中,在转换标志以外的任何上下文中
规范,应被视为复制到输出的普通字符。

2。 “ '' 格式字符串中的字符应被视为 '' 字符,而不是作为
.

3. 除了基本定义卷中显示的转义序列
POSIX.1-2008, 章节 5, 文件 格式 符号 ('\\', '\一种', '\b', '\F', '\n', '\r',
'\t', '\v'), “\ddd”,在 Moku:Pro 上 DDD 是一位、两位或三位八进制数,应为
写为一个字节,其数值由八进制数指定。

4. 执行不得先于或跟随于输出 d or u 转变
说明符未指定的字符 格式 操作数。

5. 实施不得先于输出 o 带零的转换说明符
未指定 格式 操作数。

6. a, A, e, E, f, F, gG 不需要支持转换说明符。

7.一个额外的转换说明符字符, b, 应支持如下。 这
参数应被视为一个字符串,其中可能包含- 转义序列。
下列- 应支持转义序列:

-- POSIX.1-2008 的 Base Definitions 卷中列出的转义序列,
章节 5, 文件 格式 符号 ('\\', '\一种', '\b', '\F', '\n', '\r', '\t', '\v'),
应转换为它们所代表的字符

-- "\0ddd",在 Moku:Pro 上 DDD 是一个零、一、二或三位数的八进制数,应为
转换为具有八进制数指定数值的字节

-- '\C',这不应被写入,并将导致 的printf 忽略任何剩余的
包含它的字符串操作数中的字符,任何剩余的字符串操作数,以及
中的任何附加字符 格式 操作数

的解释后跟任何其他字符序列是
未指定。

转换后的字符串中的字节应写入到字符串结尾或
达到精度规范指示的字节数。 如果精度
被省略,它应该被认为是无限的,所以直到最后的所有字节
应写入转换后的字符串。

8. 对于每个消耗一个参数的转换规范,下一个参数操作数
应评估并转换为适当的类型进行转换
下面指定。

9. 格式 操作数应尽可能频繁地重用以满足参数
操作数。 任何额外的 c or s 转换说明符应被评估为空
提供了字符串参数; 其他额外的转换规格应为
评估就好像提供了零参数。 如果 格式 操作数不包含
转换规格和 论点 操作数存在,结果是
未指定。

10.如果一个字符序列在 格式 操作数以a开头 '%' 性格,但确实
没有形成有效的转换规范,行为是未指定的。

11. 论据 c 转换说明符可以是包含零个或多个的字符串
字节。 如果它包含一个或多个字节,则应写入第一个字节,任何
额外的字节将被忽略。 如果参数是一个空字符串,它是
未指定是不写入任何内容还是写入空字节。

这个 论点 如果相应的转换,操作数应被视为字符串
说明符是 b, cs, 并应被评估为 斯特德() 函数如果
对应的转换说明符是 a, A, e, E, f, F, gG. 否则,他们将
评估为无后缀的 C 整数常量,如 ISO C 标准所述,具有
以下扩展名:

* 领先或减号应允许。

* 如果前导字符是单引号或双引号,则该值应为
单引号后面的字符的基础代码集中的数值或
双引号。

* 可能允许使用后缀整数常量。

如果参数操作数不能完全转换为合适的内部值
根据相应的转换规范,应将诊断消息写入
标准错误,实用程序不应以零退出状态退出,但应继续
处理任何剩余的操作数,并应写入在该时间累积的值
在标准输出中检测到错误。

如果参数操作数没有完全用于 c or s
转换。

退出 状态


应返回以下退出值:

0 成功完成。

>0 发生错误。

后果 OF 错误


默认。

这个 以下 部分 旨在 内容丰富。

申请须知 用法


浮点格式转换规范 的printf() 不是必需的
因为 shell 中的所有算术都是整数算术。 这 AWK 实用程序执行
浮点计算并提供自己的 的printf 功能。 的 bc 实用程序可以
执行任意精度浮点运算,但不提供广泛的
格式化功能。 (这个 的printf 实用程序不能真正用于格式化 bc 输出;
它不支持任意精度。)鼓励实现支持
浮点转换作为扩展。

请注意,这 的printf 实用程序,如 的printf() 函数定义在系统接口中
它所依据的 POSIX.1-2008 卷,没有特别规定处理
使用多字节字符时 %c 转换规范或精度为
指定在 %b or %s 转换规范。 应用程序应该非常
当文件中存在多字节字符时,请谨慎使用这些功能中的任何一个
字符集。

本 POSIX.1-2008 卷中没有规定允许字段宽度和
精度指定为 '*''*' 可以直接在里面替换 格式
使用外壳变量替换的操作数。 实现也可以提供这个功能
如果他们愿意,可以作为扩展。

ISO C 标准中定义的十六进制字符常量在
格式 操作数,因为没有一致的方法来检测常量的结尾。 八进制
字符常量限制为最多三个八进制数字,但十六进制字符
常量仅以非十六进制数字字符结尾。 在 ISO C 标准中,
“ ##” 连接运算符可用于终止一个常量并在它后面加上一个
要写入的十六进制字符。 在 shell 中,连接发生在 的printf
实用程序有机会解析十六进制常量的结尾。

这个 %b 转换规范不是 ISO C 标准的一部分; 它已添加到此处
作为一种便携的处理方式-escapes 在提供的字符串操作数中扩展
回音 公用事业。 另请参阅 APPLICATION USAGE 部分 回音 使用方法 的printf
作为所有传统版本的替代品 回音 效用。

如果无法为相应的转换规范正确解析参数,
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 的printf 报告错误需要实用程序。 因此,溢出和无关
应报告用于数字转换的参数末尾的字符
作为错误。

示例


要提醒用户,然后打印并阅读一系列提示:

的printf "\a请 in 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 在以下: \n姓名: "
姓名
的printf “电话 数: "
电话

要从文件中读出正确和错误答案的列表,请计算百分比
正确,并打印出来。 数字右对齐并由单个分隔
. 百分比被写入精确到小数点后一位:

; do
百分比=$(回声 “比例= 1;($right*100)/($right+$wrong)” | 公元前)
的printf "%2d 对\t%2d 错误\t(%s%%)\n" \
$对 $错误 $%
完成 < 数据库文件

命令:

的printf "%5d%4d\n" 1 21 321 4321 54321

生产:

1 21
3214321
54321 0

请注意 格式 操作数被使用 XNUMX 次来打印所有给定的字符串和
一个 '0' 由提供 的printf 满足最后 %4天 转换规范。

这个 的printf 当检测到转换错误时,需要实用程序来通知用户
同时产生数字输出; 因此,预计以下结果
用 32 位二进制补码实现,当 %d 被指定为 格式
操作数:

┌────────────┬────────────────┬──────────────────────── ────────────────────────┐
│ │ 标准版 │ │
争论输出诊断 输出
├────────────┼───────────────┼────────────────────── ────────────────────────┤
│5a │ 5 │ printf: "5a" 没有完全转换│
│9999999999 │ 2147483647 │ printf: "9999999999" 算术溢出│
│−9999999999 │ −2147483648 │ printf: "−9999999999" 算术溢出│
│ABC │ 0 │ printf: "ABC" 预期数值│
└────────────┴────────────────┴──────────────────────── ────────────────────────┘
未指定诊断消息格式,但这些示例传达了
应报告的信息。 请注意,标准输出上显示的值是
将被预期为来自 斯特罗() 函数定义在 System
POSIX.1-2008 的接口卷。 之间存在类似的对应关系 %u
斯特尔图尔()和 %e, %f%g (如果实现支持浮点转换)
斯特德()。

在使用 ISO/IEC 646:1991 标准作为底层代码集的区域设置中,命令:

的printf "%d\n" 3 +3 - 3 \'3 \"+3 "'−3"

生产:

3 常数 3 的数值

3 常数 3 的数值

−3 常数 −3 的数值

51 字符的数值 '3' 在 ISO/IEC 646:1991 标准代码集中

43 字符的数值 '+' 在 ISO/IEC 646:1991 标准代码集中

45 字符的数值 '-' 在 ISO/IEC 646:1991 标准代码集中

请注意,在具有多字节字符的语言环境中,字符的值旨在
是等价物的值 wchar_t 描述的字符表示
在 POSIX.1-2008 的系统接口卷中。

基本原理


这个 的printf 添加了实用程序以提供历史上提供的功能
by 回音. 但是由于不同版本的不可调和的差异 回音
现存,该版本几乎没有什么特殊功能,把这些留给这个新的 的printf 效用,
这是基于第九版系统中的一个。

扩展描述部分几乎完全匹配 的printfISO C 中的 () 函数
标准,尽管它是根据 Base 中的文件格式符号来描述的
POSIX.1-2008 的定义卷, 章节 5, 文件 格式 符号.

该标准的早期版本指定了所有转换的参数,而不是
b, cs 以相同的方式进行评估(作为 C 常量,但有规定的例外)。
对于支持浮点转换的实现,不清楚是否
整数转换只需要接受整数常量,浮点转换需要
只接受浮点常量,或者两种类型的转换都应该接受
两种类型的常量。 同样通过不区分它们,有关的要求
到适用于浮点转换的前导单引号或双引号,即使
尽管这没有为尚未提供的应用程序提供有用的功能
可通过整数转换获得。 现行标准通过以下方式澄清了情况
指定浮点转换的参数被评估为
斯特德(),并且整数转换的参数被评估为 C 整数常量,
前导单引号和双引号的特殊处理仅适用于
整数转换。

未来 如何前往


无。

使用 onworks.net 服务在线使用 printfposix


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。