strcat与strncat原型
//
//功能为连接两个字符串,把src连接到dest后面;返回dest地址;
//
char* mystrcat(char* dest,const char* src)
{
assert((dest != NULL) && (src != NULL));
char* res = dest;
while(*dest) // *dest != '\0'
{
dest++;
}
while(*dest++ = *src++)
{
NULL;
}
return res;
}
/*
//功能为连接两个字符串,把src连接到dest后面;返回dest地址;
*/
char* mystrncat(char* dest,const char* src,unsigned int num)
{
assert((dest != NULL) && (src != NULL));
if (!num)
{
return dest;
}
char* res = dest;
while(*dest) // *dest != '\0'
{
dest++;
}
while(*dest++ = *src++)
{
if (--num == 0)
{
*dest = '\0';
break;
}
}
return res;
}
strchr与strrchr原型
//
//功能为查找str中首次出现c的位置,如有有,则返回出现位置,否则返回NULL;
//
/*
const char * strchr ( const char * str, int character );
char * strchr ( char * str, int character )
*/
char* mystrchr(char* str,char c)
{
assert(str != NULL);
while(*str && *str != c)
{
str++;
}
if (*str == c)
return str;
return NULL;
}
//
//功能为查找str中最后一次出现c的位置,如有有,则返回出现位置,否则返回NULL;
//
char* mystrrchr(char* str,char c)
{
assert(str != NULL);
char* res = str;
while(*res++)
;
while((--res != s