C語言提供了豐富的字符串處理函數,可以對字符串進行輸入、輸出、合併、修改、比較、轉換、複製、搜索等操作,使用這些現成的函數可以大大減輕我們的編程負擔。
用於輸入輸出的字符串函數,例如printf、puts、scanf、gets等,使用時要包含頭文件stdio.h,而使用其它字符串函數要包含頭文件string.h。
string.h是一個專門用來處理字符串的頭文件,它包含了很多字符串處理函數,講解幾個常用的。
字符串連接函數 strcat()
strcat 是 string catenate 的縮寫,意思是把兩個字符串拼接在一起,語法格式為:
strcat(arrayName1, arrayName2);
arrayName1、arrayName2 為需要拼接的字符串。
strcat() 將把 arrayName2 連接到 arrayName1 後面,並刪除原來 arrayName1 最後的結束標誌'\0'。這意味着,arrayName1 必須足夠長,要能夠同時容納 arrayName1 和 arrayName2,否則會越界(超出範圍)。
strcat() 的返回值為 arrayName1 的地址。
字符串複製函數 strcpy()
strcpy 是 string copy 的縮寫,意思是字符串複製,也即將字符串從一個地方複製到另外一個地方,語法格式為:
strcpy(arrayName1, arrayName2);
strcpy() 會把 arrayName2 中的字符串拷貝到 arrayName1 中,字符串結束標誌'\0'也一同拷貝。
strcpy() 要求 arrayName1 要有足夠的長度,否則不能全部裝入所拷貝的字符串。
字符串比較函數 strcmp()
strcmp 是 string compare 的縮寫,意思是字符串比較,語法格式為:
strcmp(arrayName1, arrayName2);
arrayName1 和 arrayName2 是需要比較的兩個字符串。
字符本身沒有大小之分,strcmp() 以各個字符對應的 ASCII 碼值進行比較。strcmp() 從兩個字符串的第 0 個字符開始比較,如果它們相等,就繼續比較下一個字符,直到遇見不同的字符,或者到字符串的末尾。
返回值:若 arrayName1 和 arrayName2 相同,則返回0;若 arrayName1 大於 arrayName2,則返回大於 0 的值;若 arrayName1 小於 arrayName2,則返回小於0 的值。