字串函式實現(2)

2021-09-29 17:03:07 字數 2503 閱讀 1103

1.實現strcpy

2.實現strcat

3.實現strstr

4.實現strchr

5.實現strcmp

6.實現memcpy

7.實現memmove

/*

1.實現strcpy 2.實現strcat 。在2019.11.11專案中

3.實現strstr,功能:如果乙個字串是另乙個字串的一部分,返回字串起始指標,否則返回空指標

4.實現strchr,功能:在引數 str 所指向的字串中搜尋第一次出現字元 c(乙個無符號字元)的位置

//返回乙個指向該字串中第一次出現的字元的指標,如果字串中不包含該字元則返回null空指標

5.實現strcmp功能:字串ascii比較

6.實現memcpy功能:記憶體拷貝:對任意型別資料進行n個位元組的拷貝

7.實現memmove功能:拷貝位元組,如果目標區域和源區域有重疊的話,

memmove能夠保證源串在被覆蓋之前將重疊區域的位元組拷貝到目標區域中,

但複製後源內容會被更改。但是當目標區域與源區域沒有重疊則和memcpy函式功能相同。

*/#include

#include

#include

char

*my_strstr

(const

char

* src,

const

char

* dst)

//src是原始字串,dst是待檢測的字串if(

*dststart ==

'\0'

)else

}return

null;}

char

*my_strchr

(const

char

*str,

int achar)

else

}return

null;}

intmy_strcmp

(const

char

* str1,

const

char

* str2)if(

(*str1==

'\0')&&

(*str2==

'\0'))

elseif(

(*str1 ==

'\0')&&

(*str2 !=

'\0'))

elseif(

(*str1 !=

'\0')&&

(*str2 ==

'\0'))

}void

*my_memcpy

(void

* dst,

void

* src,

unsigned

int n)

char

* basedst =

(char

*)dst;

char

* basesrc =

(char

*)src;

while

(n--

)return dst;

}void

*my_memmove

(void

* dst,

const

void

* src, size_t count)

return dst;

}else

if(dst>src)

return dst;}}

intmain()

;printf

("%p\n"

, arr1)

;printf

("%p\n"

,my_strstr

(arr1,

"bc"))

;printf

("%p\n"

,my_strchr

(arr1,

'a'));

printf

("%d\n"

,my_strcmp

(arr1,

"abcd"))

;my_memcpy

(arr3, arr5,1)

;printf

("%c\n"

,arr3[0]

);printf

("%c\n"

, arr3[1]

);printf

("%c\n"

, arr3[2]

);my_memmove

(arr2,arr1,

sizeof

(arr1));

printf

("%s\n"

,arr2)

;my_memmove

(arr4+

5, arr4,6)

;printf

("%s\n"

, arr4)

;system

("pause");

return0;

}

字串函式實現

本文介紹了strcpy,strcnpy,atoi,itoa,strcmp,strncmp,字串逆置的c語言實現 比較簡單,或許存在bug 1.strcpy,strncpy 2.字串的逆置 void reverse char s q 這個時候q是指向 0 的,所以需要往前移動一下 while q p ...

字串函式實現

1.memmove void memmove void dest,const void src,size t count memmove用於從source拷貝count個字元到dest,如果目標區域和源區域有重疊的話,memmove能夠保證在源串覆蓋之前將重疊區域的位元組拷貝到目標區域中 void ...

js字串函式 2

js自帶函式 substr 返回字串的乙個子串,傳入引數是起始位置和長度 var sub string1 a.substr 1 sub string1 ello var sub string2 a.substr 1,4 sub string2 ello replace 用來查詢匹配乙個正規表示式的字...