使用`%016llx`打印字符串

cla*_*hio 1 c printf gcc

抱歉可能是基本的问题,但我正在尝试理解一些代码而我无法理解这个(%016llx)占位符的含义.

我知道%x是HEX编码,据我所知,中间的数字应该是数字和0填充; 但我无法解码016ll序列,谷歌搜索没有多大帮助,只是展示了一个与gcc有某种关系的例子.

鉴于我是一名几乎没有经验的程序员,你能帮助我吗?

pmg*_*pmg 6

C99标准中描述fprintf()告诉我们%016llx转换规范由

  1. 强制性%角色
  2. 一个0用于填充标记
  3. 16为"最小字段宽度"
  4. ll为"长度改性剂"
  5. x转换符

因此,总的来说,它意味着unsigned long long int用十六进制表示法写入占用至少16个位置,填充0.


Dan*_*Dan 5

ll表示该参数将被解释为一个long long int适当的符号性的.的x表示十六进制,则0表示该输出将是零填充,并且16是将要打印的数的宽度.