c++ - 使用 printf 右对齐包括前缀的数字

标签 c++ printf

如何使用一个 printf 语句输出一个使用十六进制前缀“0x”的数字并右对齐?

例如,如果我尝试用 10 个字符右对齐,但数字少于 10 个字符,如下所示:

printf("0x%10X\n", number);

输出:

enter image description here


我希望它看起来像这样(忽略图片中有不同数字的事实):

enter image description here


我已经尝试了上述代码的几种变体,这是迄今为止我发现的最接近的一种。

最佳答案

使用 # 修饰符,使 0x 前缀成为字段的一部分。

printf("%#10x\n", number)

关于c++ - 使用 printf 右对齐包括前缀的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19759528/

相关文章:

c++ - 函数模板

C++11 for 循环语法不能正常工作

c++ - 按照键优先级的指定顺序按值对映射进行排序

c++ - printf 如何知道格式参数的长度?

c++ - 使用 NUnit 在 VS 2010 中调试 native /托管 C++

c++ - 在 OpenGl 和 OpenFrameworks 中使 3d 模型透明

除非我调用 printf() 函数,否则 C 代码会卡住

c++ - 如何从 C/C++ 中的以下函数获取所有参数?

C程序没有进入for循环,而是递增循环索引变量?

c - 如何将一个字节打印为两位十六进制字符?