列印字串的任意一部分

2021-06-05 23:59:33 字數 1001 閱讀 2353

使用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個字元正常輸出。

printf 列印字串的任意一部分

使用printf 函式列印字串的任意部分,請看下例 include include include int main 輸出結果為 first 11 characters this is the last 13 characters source string 在上例中,第一次呼叫printf 函式時...

字串一部分習題訓練

1.在字串中指定開始位置插入字串 include include include int main for i 0 i lenth2 i printf s n str1 return 0 2.幾個字串求出最小串 include include include int main printf how ...

與字串的 一部分 比較(LIKE)

與 字串的 一部分 進行 比較,使用 like 演算子。table not like 檢索字串 escape 轉義字元 檢索 與 檢索字串 部分地匹配的 記錄。table 例1 檢索 其列 job name 以 job 字串 開頭的 記錄 使用 萬用字元 select from employees ...