string部分庫函式的實現

2021-08-24 20:36:35 字數 3499 閱讀 3697

1、模擬實現strcpy

思路分析: 源字串的字元逐個賦值給目標字串

**如下:

#include

#include

char

*my_strcpy

(char

*dest,

const

char

*src)

return ret;

}int

main()

;my_strcpy

(arr2,arr1)

;printf

("拷貝完成後的字串:%s\n"

,arr2)

;return0;

}

結果如下:

2、模擬實現strlen

思路分析:逐個遍歷字串,並計數,在遇到』\n』時,退出當前函式並返回最終計數的值。

#include

#include

intstrlen_new

(const

char

* src)

intstrlen_new1

(const

char

* str)

intmain()

3、模擬實現strcat

思路分析: 先找到目標字串的』\0』,接著把源字串的字元逐個拷貝到目標字串

**如下:

#include

#include

char

*my_strcat

(char

*dest,

const

char

*src)

while

(*dest++

=*src++

)return ret;

}int

main()

執行結果如下:

4、模擬實現strstr

思路分析:strstr函式是在字串中查詢子字串,如果有,輸出子字串的位置;否則輸出空。

#include

#include

char

*my_strstr

(const

char

*str1,

const

char

*str2)if(

*substr ==

'\0'

)return cp;

cp++;}

}int

main()

結果如下:

5、字串查詢

1)模擬實現strchr

在已知字串中查詢第一次出現的字元,如果有,輸出子字元的位置;否則輸出空。

#include

#include

char

*my_strchr

(const

char

*str,

char c)

else

}return

null

;//找完全部,如果沒有,則返回null

}int

main()

結果如下:

2)模擬實現strrchr

在已知字串中查詢最後一次出現的字元,如果有,輸出子字元的位置;否則輸出空。

#include

#include

char

*my_strrchr

(const

char

*str,

char c)

else}if

(pos ==0)

return

null

;else

return pos;

}int

main()

結果如下:

6、模擬實現strcmp

字串比較 比較的是字串中字元的大小,並非字串的長度。

str1中的含有大於str2的字元時(ascii),則str1 > str2

具體的**實現方法如下:

#include

#include

intmy_strcmp

(const

char

*src,

const

char

*dest)

return

*src -

*dest;

}int

main()

str1 > str2時的輸出 「1」 ;

str1 < str2時的輸出 「-1」 ;

str1 = str2時的輸出 「0」 。

7、模擬實現memcpy

src的位置開始向後複製count個位元組的資料到dest的記憶體位置,這個函式在遇到\0的時候並不會停下來,如果兩個字串有任何的重複,複製的結果是未定義的。

#include

#include

void

*my_memcpy

(void

*dest,

const

void

*src,size_t count)

}

8、模擬實現memmove

memmovememcpy大致相同,兩者的差別在於memmove函式處理的源記憶體塊可以與目標記憶體塊進行重疊。

#include

#include

void

*my_memmove

(void

*dest,

const

void

*src,size_t count)

}else

}}

實現部分庫函式

1.模擬實現strncat 與strcat無異,只是追加的塊大小不一樣,strncat只是向後追加n個位元組的內容 char my strncat char dst,const char src,int count while count 用數count控制迴圈的次數 dst src dst 0 r...

部分庫函式原始碼

部分庫函式原始碼 char strcpy char strdes,const char strsrc return s t char strcat char strdes,const char strsrc 注意 1.不能向形參傳遞指向字串常量的指標 本題中dst和src都是指向串常量的指標,字串常...

String 部分實用庫函式

字串變數 string 用string建立字串的方法 string s new string a string string s a string scanner in new scanner system.in string s in.nextline 使用者輸入s的值 字串 system.out...