c語言之str字元操作函式

2021-10-03 14:19:30 字數 3338 閱讀 3402

1.strlen字元測量函式

標頭檔案:#include函式定義:size_t strlen(const char *s)
功能:測字元指標s指向的字串中字元的個數,到』\0』結束且包括』\0』

返回值:測量的個數

例子:

#include

#include

void test1(

)

執行結果:

s1 = 16

s1 = 12

s1 = 13

s1 = 11

s1 = 11

s1 = 8

2 .strcpy字元拷貝函式

標頭檔案:#include函式定義:char *strcpy(char *dest,const char *src)
void test2(

)

執行結果:

dest = hello wor

3.strncpy字元拷貝函式

標頭檔案:#include函式定義:char *strncpy(char *dest,const char *src,size_t n)
功能:拷貝src指向的字串的前n個拷貝到dest指向的記憶體中,』\0』也會拷貝

返回值:目的記憶體的位址

如果n大於src指向的字串中的字元個數,則dest後面自動補n-strlen(src)個』\0』

例子:

void test2(

)

執行結果:

dest = hel

4.strcat字元追加函式

標頭檔案:#include函式定義:char *strcat(char *dest,const char *src)
void test2(

)

執行結果:

dest = world hello

5.strncat字串追加函式

標頭檔案:#include

函式定義:char *strcat(char *dest,const char *src,size_t n)

void test2(

)

dest = world hel
6strcmp字串比較函式

標頭檔案:#include函式定義:int strcmp(const char *s1,const char *s2)
功能:逐一比較s1和s2指向的字串中的字元的ascii碼

返回值:如果s1指向的字串大於s2指向的字串,返回》0

如果s1指向的字串小於s2指向的字串,返回<0

如果s1指向的字串等於s2指向的字串,返回=0

例子:

void test3(

)

執行結果:

n=3

7.strncmp字串比較函式

標頭檔案:#include函式定義:int strcmp(const char *s1,const char *s2,size_t n)
功能:逐一比較s1和s2指向的字串中的前n個字元的ascii碼

返回值:如果s1指向的字串大於s2指向的字串,返回》0

如果s1指向的字串小於s2指向的字串,返回<0

如果s1指向的字串等於s2指向的字串,返回=0

例子:

void test3(

)

執行結果:

n = -14

8.strchr字元查詢函式

標頭檔案:#include函式定義:char *strchr(const char *s,int c)
功能:在字元指標s指向的字串中,查詢asccii為c的字串,如果s指向的字串中有多個ascii為c的字元,則找的是第乙個

返回值:找到了返回找到的字元的位址

找不到返回null

例子:

void test3(

)

執行結果:

s1 = lle

9.strstr字串查詢

標頭檔案:#includechar *strstr(const str *haystack,const char *needle)
void test4(

)else

} printf(

"str = %s\n",str)

;}

執行結果:

str = he��o wor�d

10strtok字串切割函式

標頭檔案:#include函式定義:char *strtok(const char *str,char *delim)
功能:按照delim指向的字串中的字元,切割str指向的字串。如果在str指向的字串中發現了delim字串中的字元,就將其變成』\0』,呼叫一次strtok就只切割一次,切割過後,再去切割就要把strtok的第乙個引數傳入null,意思是接著上一次的切割位置繼續切割

void test5();

int i = 0;

buf[i]

= strtok(str,":?,");

while(buf[i]

!= null)

i = 0;

while(buf[i]

!= null)

}

執行結果:

buf[0]

= sijie

buf[1]

= world

buf[2]

= nihao

buf[3]

= hello

C語言之字元

對於scanf 3c ch 輸入abc而字元ch只能被賦值為a 猜想 因為ch只被開闢乙個空間,被scanf填滿後,直接結束scanf函式。對於char ch abc ch被賦值為c 猜想 應為ch可以 char ch 65 編譯不會被查錯 putchar ch 結果為ch a而對於 char ch...

C語言str函式系列

1 strcat 此函式原型為 char strcat char dest,const char src 功能為連線兩個字串,把src連線到dest後面 返回dest位址 實現如下 char strcat char dest,const char src while dest src return ...

C語言str 函式系列

char strcat char dest,const char src while dest src return addr 2 strcmp intstrcmp const char str1,const char str2 return str1 str2 3 strcpy char strc...