[英]Padding printf for Strings by 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
對於 golang,試試這個(可以翻譯成 C):
str := "this"
printf("0000000000"[:10-len(str)] + str)
嘗試這個:
printf("%010d%s", 0, "this");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.