C語言之模擬實現字串 記憶體函式

2021-10-10 20:27:25 字數 3951 閱讀 8081

三種方式實現strlen

函式使用方法

char

* str =

"i am the best!"

;printf

("%d\n"

,strlen

(str)

);

模擬實現

①指標-指標

#pragma warning (disable:4996)

#include

intmystrlen

(char

* p)

return s-p;

}int

main()

②遞迴#include

intmystrlen

(char

* str)

intmain()

③計數器

#include

intmystrlen

(char

* str)

return count;

}int

main()

strcpy

函式使用方法

char

*strcpy

(char

*dest,

const

char

*src )

;

模擬實現

#pragma warning(disable:4996)

#include

void

mystrcpy

(char

*str1,

char

*str2)

}int

main()

strcmp

函式使用方法

intstrcmp

(const

char

*string1,

const

char

*string2 )

;//返回值為int型別

//< 0 string1 smaller than string2

//= 0 string1 等於 string2

//> 0 string1 bigger than string2

模擬實現

#pragma warning(disable:4996)

#include

#include

intmystrcmp

(char

*str1,

char

*str2)

str1++

; str2++;}

if(*str1 >

*str2)

return1;

else

}int

main()

strcat(字串拼接)

函式使用方法

char

*strcat

(char

*dest,

const

char

*src )

;

模擬實現

#pragma warning(disable:4996)

#include

char

*mystrcat

(char

*dest,

char

*src)

while

(*src !=

'\0'

)*dest =

'\0'

;return p;

}int

main()

strtok(字串分隔函式)

函式使用方法

char

*strtok

(char

*str,

const

char

*strdelimit )

;//str目標字串

//strdelimit 乙個或多個分隔符

#pragma warning(disable:4996)

#include

#include

intmain()

return0;

}

strstr(在主串中尋找子串)

函式使用方法

char

*strstr

(const

char

*string1,

const

char

*string2 )

;//在string1中尋找string2;

模擬實現

#pragma warning(disable:4996)

#include

char

*mystrstr

(char

* str1,

char

* str2)if(

*s2 ==

'\0'

) start++

;//不一樣之後主串往後加一

}return

null;}

intmain()

memcpy(記憶體拷貝函式)

函式使用方法

void

*memcpy

(void

*dest,

const

void

*src,

int count )

;//count為所拷貝位元組數

模擬實現

#pragma warning(disable:4996)

#include

#include

void

*mymemcpy

(void

* dest,

void

* src,

int count)

return ret;

}int

main()

;//mymemcpy(arr, arr + 2, 16);

mymemcpy

(arr+

2,arr,16)

;int i =0;

for(

; i <

8; i++

)return0;

}

memmove

函式使用方法

void

*memmove

(void

*dest,

const

void

*src,

int count )

;//count為所移動位元組數

模擬實現

#pragma warning(disable:4996)

#include

void

*mymemmove

(void

* dest,

void

* src,

int count)

}//srcelse

}return ret;

}int

main()

;mymemmove

(arr +

2, arr,16)

;int i =0;

for(

; i <

8; i++

)return0;

}

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語言模擬實現字串操作函式

在編寫程式過程中,我們經常使用到一些字串函式,例如求字串長度,拷貝字串 這些函式都在c標準庫中存在,我們可以直接使用。但我們還需要掌握這些函式的實現方法,今天來看看一些常用的字串操作函式的實現方法 1.strlen strlen是用來求字串長度的函式,字串長度就是字串中包含的字元的個數,但是不包含字...

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

1 int strcmp const char dest,const char str 字串比較函式,比較字串dest和str,當dest str時,返回值 0 當dest 模擬實現 include includeint mystrcmp const char dest,const char str...