很抱歉这个可能很基本的问题,但我正在尝试理解一些代码,但我无法理解这个 (%016llx
) 占位符的含义。
我知道 %x 是十六进制编码,据我所知,中间的数字应该是位数和 0
填充;但我无法解码 016ll
序列,谷歌搜索除了显示一个与 gcc 有某种关联的示异常(exception),没有多大帮助。
鉴于我是一个几乎零经验的程序员,你能帮帮我吗?
最佳答案
description of fprintf()
in the C99 Standard告诉我们 %016llx
转换规范由
- 强制性
%
字符 - 用于填充的
0
标志 16
作为“最小字段宽度”ll
作为“长度修饰符”x
转换说明符
所以,总的来说就是写一个 unsigned long long int
的十六进制符号,至少占用 16 个位置,用 0
填充。
关于c - 使用 `%016llx` 打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531657/