C语言 库函数的模拟实现
一、字符串函数
1. strlen(3种方法)
int my_strlen(const char* str)
{
int count = 0;
assert(str);
while (*str)
{
count++;
str++;
}
return count;
}
//2.递归
int my_strlen(const char* str)
{
assert(str);
if (*str == '\0')
return 0;
else
return 1 + my_strlen(str + 1);
}
//3.指针-指针
int my_strlen(const char* str)
{
assert(str);
char* p = str;
while (p != '\0')
p++;
return p - str;
}
2. strcpy 、strncpy
char* my_strcpy(char* dest, const char* src)
{
char* ret = dest;//为了实现链式访问
assert(dest && src);
while (*dest++ = *src++)
{
;
}