Egi*_*gil 26 c formatting printf
有没有办法让可变大小的填充printf
?
我有一个整数表示填充有多大:
void foo(int paddingSize) {
printf("%...MyText", paddingSize);
}
Run Code Online (Sandbox Code Playgroud)
这应该打印出### MyText
paddingSize应该决定'#'符号数量的位置.
pax*_*blo 50
是的,如果您*
在格式字符串中使用它,它会从参数中获取一个数字:
printf ("%0*d\n", 3, 5);
Run Code Online (Sandbox Code Playgroud)
将打印"005".
请记住,您只能使用空格或零填充.如果你想用其他东西填充,你可以使用类似的东西:
#include <stdio.h>
#include <string.h>
int main (void) {
char *s = "MyText";
unsigned int sz = 9;
char *pad = "########################################";
printf ("%.*s%s\n", (sz < strlen(s)) ? 0 : sz - strlen(s), pad, s);
}
Run Code Online (Sandbox Code Playgroud)
这个输出###MyText
时sz
为9,或MyText
当sz
为2(无填充,但没有截断).您可能想要添加一个pad
太短的支票.
归档时间: |
|
查看次数: |
21543 次 |
最近记录: |