模拟实现strcpy与strcmp函数

时间:2021-07-27 17:03:07
//模拟实现strcpy,不能使用库函数
char* _strcpy(char*dst, const char *src)
{
assert(NULL != dst&&NULL != src);//assert 检查非法操作,if检查错误操作,
char *ptemp = dst;
while (*dst++ =*src++)
;
return ptemp;
}


//模拟实现strcmp,不能使用库函数,
int _strcmp(const char*str1, const char*str2 )
{
assert(str1);
assert(str2);
const char *pstr1 = str1;
const char *pstr2 = str2;
while (*pstr1++ != '\0'&&*pstr2++ != '\0')
{
if (*pstr1 == *pstr2)
{
return 0;
}
if (*pstr1 == '\0'&&*pstr2 != '\0')
{
return -1;
}
if (*pstr1 != '\0'&&*pstr2 == '\0')
{
return 1;
}
}
}