我想做printf("?", count, char)
次,把一个角色重复count
次.
要实现这一点,正确的格式字符串是什么?
编辑:是的,很明显我可以在循环中调用printf()
,但这正是我想要避免的.
我想做printf("?", count, char)
次,把一个角色重复count
次.
要实现这一点,正确的格式字符串是什么?
编辑:是的,很明显我可以在循环中调用printf()
,但这正是我想要避免的.
简短的回答——是的,冗长的回答:不是你想要的方式.
您可以使用printf的%*形式,它接受可变宽度.如果使用"0"作为打印值,则combined的右对齐文本在左侧填充为零..
printf("%0*d\n", 20, 0);
生产:
00000000000000000000
我把舌头紧紧地贴在脸颊上,献上这段恐怖剧的代码片段.
有些时候,你只需要做badly件事来记住你为什么在剩下的时间里如此努力.
#include <stdio.h>
int width = 20;
char buf[4096];
void subst(char *s, char from, char to) {
while (*s == from)
*s++ = to;
}
int main() {
sprintf(buf, "%0*d", width, 0);
subst(buf, '0', '-');
printf("%s\n", buf);
return 0;
}