1. 程式人生 > >c語言各類庫函式的含義及用法

c語言各類庫函式的含義及用法

C語言中 strcatstrcmpstrcpystrlenstrchr strstr函式都被包含在<string.h>標頭檔案中,也就是要呼叫它們時要在程式前面包含<string.h>標頭檔案,也就是寫這個語句:#include<string.h>

1strcat將第二個字元陣列中的字串連線到前面字元陣列的字串的後
char str1
[30]=
"People's Republic of";

char str2[]="China";
printf("%s",strcat(str1
,str2));輸出:
People's Republic of China


2
、strcpy是將第二個字元陣列中的字串複製到第一個字元陣列中去
char str1
[10],str2[]="China";
printf("%s",strcpy(str1
,str2));輸出:China


3
、strcmp 字串比較函式,一般形式為strcmp(字串1,字串2)。

比較規則:

對兩個字串自左至右逐個字元相比(按ASCII碼值大小比較),直到出現不同的字元或遇到‘\0’為止。如果全部字元相同,則認為相等;若出現不相同的字元,則以第一個不相同的字元的比較結果為準。

如果兩個字串都由英文字母組成,則有一個簡單的規律:在英文字典中位置在後面的為“大”,還要特別注意:小寫字母比大寫字母“大”。

返回值:

1)字串1=字串2,返回0

2)字串1>字串2,返回一個正整數

3)字串1<字串2,返回一個負整數。
4
、strlen(char *) 作用:檢測字串實際長度.

如:chars[]="1234567";

inta=strlen(s);//a=7

實際上strlen(char *)檢測的是'\0',strlen(char *)碰到'\0'就返回'\0'以前的字元數.

又如:

charf[]="123456\01111";

intb=strlen(f);//b=6,因為遇到了'\0'

charh[4]={'f','0',0,'h'} ;//注:不能寫成char h[4]="f0\0h";因為以""

括起來的為字串,

它隱式的以'\0'結尾,'\0'也佔一個位元組,所以應寫為char h[5]="f0\0h"

intc=strlen(h);//c=2,因為遇到了'\0'(注意'0'不等於'\0',0等於'\0')

5、strchr函式原型:char * strchr(char * str, int ch); 功能就是找出在字串str中第一次出項字元ch的位置,找到就返回該字元位置的指標(也就是返回該字元在字串中的地址的位置),找不到就返回空指標(就是 null)。

6、strstr 函式原型: char *strstr(char * str1,char * str2);功能就是找出在字串str1中第一次出項字串str2的位置(也就是說字串sr1中要包含有字串str2),找到就返回該字串位置的指標(也就是返回字串str2在字串str1中的地址的位置),找不到就返回空指標(就是 null)。