c - 有没有办法在 printf 中不指定说明符?

标签 c printf

cplusplus.com 的人为 printf 提供引用:
printf("%[flags][width][.precision][length]specifier", "Message");
但是如果我想在前面添加一些空格,我将不得不使用 %[number of spaces]s, ""...etc 是否有更清晰的方法来添加空格,而不会笨拙地添加空字符串?

最佳答案

使用* 指定总宽度。没有前置的空字符串。

const char *message = "Message";
int number_of_spaces = 3;
int width = number_of_spaces + strlen(message);

printf("<%*s>\n", width, message);

输出

<   Message>

关于c - 有没有办法在 printf 中不指定说明符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35947915/

相关文章:

c - 访问字符中的位?

c - 按 ENTER 继续(Linux 和 C)

Bash printf 文字逐字字符串

c - 这个值从哪里来?

printf - 指定数字的最大 printf 字段宽度(必要时截断)?

c++ - 具有复数的任意精度线性代数 c/c++ 库

C:匿名数组是分配在堆还是栈上?

Code::Blocks 无法识别简单 C 程序中的双重标识符 (%lf)

c - 打印并扫描字符串 c

c - 如何在C中打印数字符号?