printf 列印字串的任意一部分

2021-06-26 13:06:51 字數 995 閱讀 1313

使用printf()函式列印字串的任意部分,請看下例:

#include 

#include 

#include 

int main()  

輸出結果為:    

first 11 characters: 'this is the'    

last 13 characters:'source string'

在上例中,第一次呼叫printf()函式時,通過指定引數"%11.11s",迫使printf()函式只列印11個字元的長度,因為源字串的長度大於11個字元,所以在列印時源字串將被截掉一部分,只有頭11個字元被列印出來。第二次呼叫printf()函式時,它將源字串的最後13個字元列印出來,其實現過程為:

(1)用strlen()函式計算出source_str字串的長度,即strlen(source_str)。

(2)將source_str的長度減去13(13是將要列印的字元數),得出source_str中剩餘字元數。

(3)將strlen(source_str)-13和source_str的位址相加,得出指向source_str中倒數第13個字元的位址的指標;即source_str+(strlen(source_str)-13)。這個指標就是printf()函式的第二個引數。

(4)通過指定引數「%13.13s」,迫使printf()函式只列印13個字元的長度,其結果實際上就是列印源字串的最後13個字元。

關於「s格式符」的用法的簡單說明:

(1) %ms :輸出的字串佔m列,如果字串本身長度大於m,則突破m的限制,將字串全部輸出;若串長度小於m,則在左邊補空格。

(2) %-ms:如果字串長度小於m,則在m列範圍內,字串向左靠,右補空格。

(3) %m.ns:輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列範圍的右側,左補空格。

(4) %-m.ns:其中的m、n的含義同上,n個字元輸出在m列範圍的左側,右補空格。如果n>m,則m自動取n值,即保證n個字元正常輸出。

c語言printf列印字串顏色

基本列印 格式 printf 033 字背景顏色 字型顏色m字串 033 0m printf 033 41 32m字型背景是紅色,字是綠色 033 0m n 41是字背景顏色,32是字型的顏色,字型背景是紅色,字是綠色是 要輸出的 字串.後面的 033 033 0m是 配對的為 控制碼。先來說一下顏...

DbgPrint列印字串

1 直接列印字串。dbgprint hello world 2 空結尾的字串,你可以用普通得c 語法表示字串常量 char variable string hello world dbgprint s variable string 3 空結尾的寬字串 wchar 型別 wchar string w...

Scala列印字串

1 字串,通過 號連線 2 printf用法 字串,通過 傳值。3 字串模板 通過 獲取變數值 列印字串 val username zhangdan val userage 20println 使用者名稱 username 使用者年齡 userage scala中簡化了關於json的表達 print...