用于填充字符串的printf为0
有没有办法在字段宽度的printf填充中将空格字符替换为0
使用的代码
printf("%010s","this");
似乎不适合弦乐!!
实际上, 0
标志仅适用于数字转换。 您必须手动执行此操作:
int print_padleftzeroes(const char *s, size_t width) { size_t n = strlen(s); if(width < n) return -1; while(width > n) { putchar('0'); width--; } fputs(s, stdout); return 0; }
关于什么
test="ABCD" printf "%0$(expr 9 - ${#test})d%s" 0 $test
那也会给你你需要的东西。
~:00000ABCD
或者你想用其他数字填充只是改变
printf "%0$(expr 9 - ${#test})d%s" 1 $test
会给你
~:11111ABCD
试试这个:
printf("%010d%s", 0, "this");