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

标签 c gcc printf

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

我知道 %x 是十六进制编码,据我所知,中间的数字应该是位数和 0 填充;但我无法解码 016ll 序列,谷歌搜索除了显示一个与 gcc 有某种关联的示异常(exception),没有多大帮助。

鉴于我是一个几乎零经验的程序员,你能帮帮我吗?

最佳答案

description of fprintf() in the C99 Standard告诉我们 %016llx 转换规范由

组成
  1. 强制性 % 字符
  2. 用于填充的 0 标志
  3. 16作为“最小字段宽度”
  4. ll 作为“长度修饰符”
  5. x 转换说明符

所以,总的来说就是写一个 unsigned long long int 的十六进制符号,至少占用 16 个位置,用 0 填充。

关于c - 使用 `%016llx` 打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531657/

相关文章:

c - 标准输入/标准输出重定向,输入不起作用

c - 如何在 Linux 上使用 C 和 Mingw-GCC 使用正则表达式库?

c++ - 从日志消息中删除静态文本并仅保存变量

c - 终端上不打印单个字符

c++ - 将 char 指针初始化为字符串 vs 其他类型指针初始化为数组

c - 转到文件的开头

c - 如何修复 Build TinyCCompiler(TCC) from Source 中的 Error of crt1.o,crti.o?

ruby - Mac Rmagick 无法与 Xcode 4.2 一起安装

gdb - 如何在gdb中的 “something is printed to the terminal”上设置断点?

c - 带有整数和字符的字符串 - C