一、strcpy的实现
char * strcpy(const char *dst, const char *src)
{
assert ( (dst != NULL) && (src != NULL) );
char *address = dst;
while( (*dst++ = * src++ ) != '\0');
return address;
}
二、strstr的实现,该函数主要功能为查找str2在str1中第一次出现的位置。
方法一:
char * strstr(const char *str1, const char *str2)
{
int len2;
if (!(len2=strlen(str2)))
{
return (char *)str1;
}
for( ;*str1;++str1 )
{
if ( *str1 = =*str2 && strncmp (str1, str2, len2) == 0)
{
return (char *)str1;
}
}
return NULL;
}
方法二:
char *strstr(const char *s1, const char *s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (!*(s2 + n + 1))
return (char *)s1;
}
s1++;
}
return NULL;
}
else
return (char *)s1;
}
三、strchr的实现
char *my_strchr( char *str, char ch )
{
if (NULL == str)
{
return NULL;
}
while ('\0' != *str)
{
if (*str == ch)
{
return str;
}
++str;
}
return NULL;
}