printf輸出字符串的一些格式

1. 原樣輸出字符串:
    printf("%s", str);

2. 輸出指定長度的字符串, 超長時不截斷, 不足時右對齊:
    printf("%Ns", str);             --N 爲指定長度的10進制數值

3. 輸出指定長度的字符串, 超長時不截斷, 不足時左對齊:
    printf("%-Ns", str);            --N 爲指定長度的10進制數值

4. 輸出指定長度的字符串, 超長時截斷, 不足時右對齊:
    printf("%N.Ms", str);           --N 爲最終的字符串輸出長度
                                    --M 爲從參數字符串中取出的子串長度

5. 輸出指定長度的字符串, 超長時截斷, 不足時左對齊是:
    printf("%-N.Ms", str);          --N 爲最終的字符串輸出長度
                                    --M 爲從參數字符串中取出的子串長度

注意,所謂超長時截斷用到的M並非只在超長時才起做用,而是無論你有沒有超長,都必須截取這麼長。因此
printf("%-5.2", "123")的輸出爲:
12空格空格空格
只截取了2個字符,其餘的用空格填補,並且左對齊。

6. 上述N,M是能夠動態指定的,方法是用*代替M或者N,而後在參數列表里加上一個數字參數。例子:
printf("%-*.*s", 5,2,"123");與上面的例子效果同樣。
printf("%*s", 5, "123");表示輸出長度爲5, 若是超長也不截斷,不夠的話填補,右對齊。
spa

相關文章
相關標籤/搜索