自己實現C語言的一些字串API

2021-10-22 10:34:57 字數 3632 閱讀 2639

函式原型:

intputs

(const

char

*s);

char

*gets

(char

*s);

size_t strlen

(const

char

*s);

void

*memset

(void

*s,int c, size_t n)

;char

*strcpy

(char

*dest,

const

char

*src)

;char

*strncpy

(char

*dest,

const

char

*src, size_t n)

;char

*strcat

(char

*dest,

const

char

*src)

;//字串拼接

char

*strncat

(char

*dest,

const

char

*src, size_t n)

;//未實現,以後補充

intstrcmp

(const

char

*s1,

const

char

*s2)

;//字串比較

intstrncmp

(const

char

*s1,

const

char

*s2, size_t n)

;extern

char

*strrev

(char

*s)//字串翻轉 該函式在有些編譯器中並不支援

char

*strchr

(const

char

*s,int c)

;//查詢子字元

char

*strstr

(const

char

*haystack,

const

char

*needle)

//查詢子串

char

*strtok

(char

*str,

const

char

*delim)

;//字串分割 未實現,以後補充

extern

char

*strlwr

(char

*s);

//將大寫字母轉換為小寫

extern

char

*strupr

(char

*s);

//將小寫字母轉換為大寫

自己實現

void

myputs

(char

*str)

//puts的實現

putchar

('\n');

}int

mygets

(char

*str)

//gets的實現

while((

*str=

getchar()

)!='\0'

)else}}

intmystrlen

(char

*str)

//strlen的實現

return cnt;

}void

mymemset

(char

*str,

char c,

int size)

//memset的實現

}char

*mystrcpy

(char

*des,

char

*src)

//strcpy的實現

while

(*src!=

'\0'

)*des=

'\0'

;return des;

}char

*mystrncpy

(char

*des,

char

*src,

int n)

//mystrncpy的實現

while

(*src!=

'\0'

&& n--

>0)

*des=

'\0'

;return des;

}void

mystrcat

(char

*des,

char

*src)

//strcat的實現

while

(*src!=

'\0'

)*des=

'\0';}

intmystrcmp

(char

*str1,

char

*str2)

//strcmp的實現

elseif(

*str1++

<

*str2++

)else}}

intmystrncmp

(char

*str1,

char

*str2,

int n)

//strncmp的實現

elseif(

*str1++

<

*str2++

)else}}

void

mystrrev

(char

*str)

//strrev的實現

; ptr1--

; ptr1--

;while

(ptr2}char

*mystrchr

(char

* str,

int c)

//strchar的實現

}return

null;}

char

*mystrstr

(const

char

* src,

const

char

* sub)

//strstr的實現

/* 遍歷src字串 */

while

(*src)

while

(*bp++

==*sp ++);

src ++;}

return

null;}

char

*mystrlwr

(char

* src)

//strlwr的實現

src++;}

return src;

}char

*mystrupr

(char

* src)

//strupr的實現

return src;

}

c語言字串的一些簡單講解

1.strlen自我詳解 下面這種寫法應該是比較快的,少變數,用指標快 1.strcmp自我詳解 這個函式只返回 1,1,0 陣列名最好不要直接來執行 操作,一般情況下會報錯 這裡又延伸出了乙個問題,就是說,當字串的值 0 是時,if條件是不會進去的。此時的值顯示的是假。除非我們還需要注意的是,如果...

C 字串的一些操作

1 定義和構造初始化 string 提供了很多建構函式,可以以多種方式來初始化string字串 5.比較操作 compare 等 string的比較操作,按字元在字典中的順序進行逐一比較。在字典前面的字元小於後面的字元。include includeusing namespace std int m...

一些字串處理函式的實現!

最近剛學完陣列,把一些學了的字串處理函式進行自己理解,寫出了他們的一些轉化程式。有出錯的地方請大家指出,相互學習!size t strcat char str1,const char str2 將引數 str2追加到 str1後尾 include include strcat字串追加的實現 int ...