有没有办法在中使用可变大小的填充printf
?
我有一个整数表示填充有多大:
void foo(int paddingSize) {
printf("%...MyText", paddingSize);
}
这应该打印出来### MyText
其中 paddingSize 应决定“#”符号的数量。
是的,如果您使用*
在格式字符串中,它从参数中获取一个数字:
printf ("%0*d\n", 3, 5);
将打印“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);
}
这输出###MyText
when sz
是 9,或者MyText
when sz
是 2(无填充但无截断)。您可能需要添加支票pad
太短了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)