常用C語言字元處理函式(部分原始碼實現,持續補充)

2021-08-20 12:42:23 字數 2969 閱讀 2471

這篇記錄我常用的c語言字元處理函式,有用到新的就更新補充

原型 :char *strchr(const char *s,char c);

解釋:查詢字串s中首次出現c的位置的指標,不存在則返回null

標頭檔案:#include

例子:

char *url = "www.baidu.com/index.html";

char *ptr = strchr(url,'/'); //ptr 指向 /

原始碼實現:

char

*my_strchr

(const

char

*s,char c)

return

null

;}

原型 :char *strstr(const char *s1, const char *s2);

解釋:用於判斷s2 是否是s1的子串,是則返回s2首次出現在s1的位置的指標,不是則null

標頭檔案:#include

例子:

char *buff = " 200 ok http\r\n\r\nabcderf";

char *ptr = strstr(buff,"\r\n\r\n"); // ptr 是指向\r的指標

原始碼實現

char

*my_strstr

(const

char

*src,

const

char

* to_find)

while

(*src_bak++

==*to_find_bak++);

src++

;//next char

}return

null

;}

原型 :int atoi(const char *nptr) ;

解釋:函式會掃瞄引數 nptr字串,會跳過前面的空白字元(例如空格,tab縮排)等。如果 nptr不能轉換成 int 或者 nptr為空字串,那麼將返回 0 。特別注意,該函式要求被轉換的字串是按十進位制數理解。

標頭檔案:#include

例子:

char *nptr = " 200 ok http";

int status = atoi(nptr); // status = 200

原型 :char *strcat(char *dst, const char *src);

例子:

char *sendbuf =zalloc(100);

strcat(sendbuf,"cache-control: no-cache\r\n");

strcat(sendbuf,"content-type: text/html\r\n");

原始碼實現:

char

*my_strcat

(char

* dst,

const

char

* src)

原型 :int strcmp(const char *s1, const char *s2); int strncmp(const char *s1, const char *s2, size_t n);

解釋:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或s1遇』\0』為止,

strncmp 就是比較前n個

標頭檔案:#include

例子:

char *udp_msg = zalloc(strlen("next"));

memcpy(udp_msg,"next",strlen("next"));

if( strcmp(udp_msg,"next") == 0)

return true;

else

return false;

原始碼實現:

原型 :char * strcpy(char * dest,const char *src);

解釋:只能用於複製字串,遇到'\0'結束,並且會複製'\0'

標頭檔案:#include

原始碼實現:

char

*my_strcpy

(char

* dest,

const

char

*src)

*dest_bak++

=*src++

;// '\0' 複製

return dest;

}int

main()

結果

dest:abcdef p:abcdef
原型 :void *memcpy(void *dest, const void *src, size_t size);

解釋:提供了一般記憶體的複製,memcpy對於需要複製的內容沒有限制,通過size控制複製個數。

標頭檔案:#include

原始碼實現:

void

*my_memcpy

(void

* dest,

const

void

*src,

int size)

return dest;

}int

main()

結果

dest:abcdef

c語言字元處處理函式

strcat 字串連線函式 strcat str1,str2 結果str1 str1 str2 strcpy 字串拷貝 strcpy str1,str2 接果str1 str2 strcnp 字串拷貝 strcnp str1,str2,n 結果str1 str2 str n 1 strlen str...

C語言ctype h 字元處理函式

c語言標頭檔案ctype.h包含了一些專門處理字元的函式,這些函式將乙個字元作為引數,判斷該字元是否屬於某個類別,如果屬於,則返回真,否則返回假。這些函式如下表 函式判斷類別 isalnum 字母或數字 isalpha 字母 isblank 空白字元 如空格 製表符和換行符 iscntrl 控制字元...

C語言常用字串處理函式

1 函式名 stpcpy 功 能 拷貝乙個字串到另乙個 用 法 char stpcpy char destin,char source 2 函式名 strcat 功 能 字串拼接函式 用 法 char strcat char destin,char source 3 函式名 strchr 功 能 在...