C語言 字串庫函式的模擬實現

2021-10-04 01:12:51 字數 2188 閱讀 8690

``## == 1.實現strlen(字串長度)==

//1.計數器方式

intmy_strlen

(const

char

* str)

return count;

}//2.不建立臨時變數計數器 (遞迴)

intmy_strlen

(const

char

* str)

else

}//3.指標-指標的方式

intmy_strlen

(const

char

* str)

intf

(int n)

intmain()

char

*my_strcpy

(char

* dst,

const

char

* src)

intmain()

intmain()

char

*my_strcat

(char

* dst,

const

char

* src)

intmain()

const

char

*my_strstr

(const

char

* str1,

const

char

*str2)

//查詢子串if(

*sub ==

'\0'

)//表示匹配成功

else

}return

null;}

intmain()

int

my_strcmp

(const

char

* str1,

const

char

* str2)

elseif(

*str1 <

*str2)

else

}// "aaaa" "aaaa" 0

// "aaaa" "aaaaa" -1

// "aaaaa" "aaaa" 1if(

*str1 ==

'\0'

&&*str2 ==

'\0'

)elseif(

*str1 ==

'\0'

)else

}int

main()

void

*my_memcpy

(void

* dest,

const

void

* src,

int count)

return ret;

}int

main()

;int arr2[20]

=;memcpy

(arr2, arr1,

sizeof

(arr1));

my_memcpy

(arr2, arr1,

sizeof

(arr1));

//拷貝的是位元組數不是個數

return0;

}

//memmove//記憶體重疊拷貝

void

*my_memmove

(void

* dest,

const

void

* src,

int count)

}else

//後——》前

}return ret;

}int

main()

;memmove

(arr1+

2, arr1,16)

;my_memmove

(arr1+

2, arr1,16)

;//拷貝的是位元組數不是個數 當記憶體出現重疊時

//dest落在src左邊從前向後拷貝

//dest落在src右邊從後向前拷貝

return0;

}

模擬實現字串庫函式

1.strcat 1 函式功能 實現兩個字串的連線 2 思想 首先遍歷目標字串,找到 0 的位址,然後將資源字串通過指標一次一次的拼接在目標字串後面,直到指標走到資源字串的 0 3 char mystrcat char strdestination,const char strsource whil...

c語言 模擬實現字串函式

1.strcpy實現字串的拷貝 char my strcpy char dest,const char src return temp 2.strcat實現字串的連線 char my strcat char arr,const char src while arr src return temp 3...

模擬實現C語言庫函式

1.模擬實現strlen 方式1.計數器方式 intmy strlen const char str return count 方式2.不建立臨時變數計數器 遞迴 intmy strlen const char str 方式3.指標 指標的方式 intmy strlen char s 2.模擬實現s...