首頁 > 軟體

C語言超全面講解字串函數

2022-06-24 18:03:26

注意:在使用字串處理常式時,一定要使用#include <string.h>開頭

1、gets函數

其形式為:gets(字元陣列)——輸入字串的函數

作用是從終端輸入一個字串到字元陣列,並且得到一個函數值。

2、puts函數

其形式為:puts(字元陣列)——輸出字串的函數

作用是將一個字串(以‘’結束的字元序列)輸出到終端。

3、strcat函數

其形式為:strcat(字元陣列1,字元陣列2)——字串連線的函數

作用是把兩個字元陣列中的字串連線起來,把字串2連線到字串1的後面,結果放在字元陣列1中。

4、strcpy函數(strncpy函數)

其形式為:strcpy(字元陣列1,字串2)——字串複製的函數

作用是將字串2複製到字元陣列1中去。

strcpy(字元陣列1,字串2,n)——字串選擇複製的函數

n:表示將字串2中的n個單個字元複製到字元陣列1中,最少為0個,最多不能超過字串2的長度。作用與strcpy函數差不都,都是字串複製函數。

大家可以自己試一試,原始碼

#include <stdio.h>
#include <string.h>
int main(){
	char str1[10] ="";     //定義空陣列str1
	char str2[10] = "kgtj";//定義陣列str2
	strncat(str1, str2, 1);
	printf("%sn", str1);
	return 0;
}

5、strcmp函數(strncmp函數)

其形式為:strcmp(字元陣列1,字串2)——字串比較的函數

因為字串不能用等號來比較大小,所以就用strcmp函數來比較!!!!!!

比較規則:

(1)如果全部字元相同,則認為兩個字串相等;

(2)若出現不相同的字元,則以第一對不相同的字元比較結果為準。('a'<'z';'A'<'Z')。

比較的結果由函數值帶回:

(1)如果字串1與字串2相同,則函數值為0。

(2)如果字串1 > 字串2,則函數值返回一個正數。

(3)如果字串1 <字串2,則函數值返回一個負數。

strncmp(字元陣列1,字串2,n)——字串選擇比較的函數

n:選擇字串的前n個字元進行比較,定義和strcmp一樣。

(1)如果字串1與選擇的字串2相同,則函數值為0。

(2)如果字串1 > 選擇的字串2,則函數值返回一個正數。

(3)如果字串1 <選擇的字串2,則函數值返回一個負數。

6、strlen函數

其形式為:strlen(字元陣列)——測字串長度的函數

作用是測試字串長度的函數,函數的值為字串實際的長度(不包括 '' 在內)。

strlen也可以直接測試字串常數的長度

7、strlwr函數

其形式為:strlwr(字串)——轉換為小寫的函數

該函數的作用是將字串中的大寫字母轉換成小寫字母。

8、strupr函數

其形式為:strupr(字串)——轉換為大寫的函數

該函數的作用是將字串中的小寫字母轉換成大寫字母。

9、strstr函數

其形式為:strstr(字串1,字串2)——查詢字串的函數

函數用於判斷字串str2是否是str1的子串。如果是,則該函數返回str2在str1中首次出現的地址;否則,返回NULL。

如果找到該陣列,就會從找到的地方開始輸出;

#include <string.h>
#include <stdio.h> 
int main(){
	char a[] = "abcdefg";
	char b[] = "bc";
	char* ret = strstr(a, b);
	if (ret == NULL){
		printf("Can not find!n");
	}
	else{
		printf("%sn", ret);  //輸出 bcdefg
	}
	return 0;
}

到此這篇關於C語言超全面講解字串函數的文章就介紹到這了,更多相關C語言字串函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com