首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >术语“格式说明符”是术语“转换说明符”的同义词吗?

术语“格式说明符”是术语“转换说明符”的同义词吗?
EN

Stack Overflow用户
提问于 2021-06-02 12:47:42
回答 3查看 100关注 0票数 2

C11和C17标准都使用术语“转换说明符”和“格式说明符”。它们是同义词吗?如果是,那为什么要引入同义词呢?如果没有,那他们之间有什么区别呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-02 13:19:10

“格式说明符”似乎只是一个半正式的术语。使用该术语的唯一规范文本是inttypes.h标题7.8.1,没有解释什么是“格式说明符”。尽管inttypes.h将大小和类型/签名混合为一个术语,但由于stdint.h类型的性质。它说d in PRId32是一个转换说明符,而PRId32作为整体应该是格式说明符吗?而fprintf/fscanf分隔例如“长度修饰符”和“转换说明符”,其中l%ld中是长度修饰符,d是转换说明符。

fprintf和fscanf函数定义了术语转换规范,例如C17 7.21.6.1,重点是:

每个转换规范由字符%引入。在%之后,以下内容依次出现:

modifier

  • A

  • 0或更多标志.

  • 是可选的最小字段宽度.

  • 可选精度

  • 可选长度转换说明符E 226E 127指定applied.转换类型的字符

以上也是转换说明符一词的正式定义。然后,这些函数列出了有效的转换说明符,如d, i, f等。

看来“格式说明符”和转换规范意味着同样的事情。

票数 3
EN

Stack Overflow用户

发布于 2021-06-02 13:29:53

不依赖于标准,它混淆了其他答案,因此,仅仅看一下这些术语在英语中的含义,我倾向于说

“转换说明符”描述数据从或转换到的本机类型(int、char、double),而“格式说明符”描述或包括表示(字段长度、填充)。

票数 2
EN

Stack Overflow用户

发布于 2021-06-02 12:55:08

格式说明符只指定转换的格式(即'f'),其中转换说明符表示整个指定符(即%*13 of )。

我从这个答案中拿出了一个例子:What is the difference between conversion specification and format specifier in C?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67805392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档