Don*_*alo 4 c c++ output-formatting
在C++中:
int main()
{
cout << setfill('#') << setw(10) << 5 << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
#########5
Run Code Online (Sandbox Code Playgroud)
setfill()C 还有其他选择吗?或者如何在C中执行此操作而无需手动创建字符串?
int x= 5;
printf("%010d",x);
Run Code Online (Sandbox Code Playgroud)
将输出:0000000005
现在如果你真的想要'#'而不是'0',你必须在字符串中手动替换它们.
也许 :
char buf[11], *sp = buf;
snprintf(buf, 11, "%10d", x);
while( (sp = strchr(sp, ' ')) != '\0'){ *sp = '#'; }
puts(buf);
Run Code Online (Sandbox Code Playgroud)