一.strlen函数
strlen函数用于求字符串中\0之前的字符个数
这里给出两种实现方式
//模拟实现string函数 指针-指针法
size_t my_strlen(char* s)
{
assert(s);
char* p = s;
while (*p !='\0' ) {
p++;
}
return p - s;
}
//模拟实现strlen函数 递归法
size_t my_strlen2(const char* s)
{
if (*s == '\0')
return 0;
else
return 1 + my_strlen2(s + 1);
}
二.strcpy函数
strcpy函数用于将源字符串复制到目的字符串的函数
//实现strcpy函数
char* my_strcpy(char*dest,const char*src)
{
assert(src != NULL);
assert(dest != NULL);
char* ret = dest;
while (*dest++ = *src++)
{
;
}
return ret;
}
三.strcat函数
strcat用于将源字符串拼接到目的字符串的函数
//实现strcpy函数
char* my_strcpy(char*dest,const char*src)
{
assert(src != NULL);
assert(dest != NULL);
char* ret = dest;
while (*dest++ = *src++)
{
;
}
return ret;
//注意,此代码无法实现自己追加自己,与库函数的strcat有所不同}