簡體   English   中英

用 0 填充字符串 printf

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM