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
memmove
與memcpy
大致相同,兩者的差別在於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...