指定使用printf() 列印的字元數
問題出現了:printf() 中是否有一種機制允許指定要從字元串中列印的字元數?人們可以將其與指定整數中的小數位進行比較。例如:
printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
理想情況下,此行應輸出:
Here are the first 8 chars: A string
解
有兩種主要方法可以實現此目的C.
方法1:基本方法
printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
方法2:多功能方法
printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
在此方法中,長度作為int 參數提供給printf( ) 。格式中的「*」被解釋為從參數中檢索長度的請求。
擴展表示法
可以使用另一種表示法:
printf ("Here are the first 8 chars: %*.*s\n", 8, 8, "A string that is more than 8 chars");
類似於“%8.8s”,此表示法還可以在運行時指定最小和最大長度。這在以下場景中特別有用:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
printf() 的 POSIX 規範提供了這些機制的詳細說明。
以上是如何使用 printf() 指定要從字串列印的字元數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!