这几个字符串函数是面试过程中经常会考察到的问题,所以,记住这些总是好的。ok,咱们开始吧:
strcat函数的实现:
char *strcat(char *strDst, const char *strSrc)
{
char *address = strDst;
assert((strDst != NULL) && (strSrc != NULL));
while(*strDst)
{
strDst++;
}
while(*strDst++ == *strSrc++);
return address;
}
strcpy函数的实现:
char *strcpy(char *strDst, const char *strSrc)
{
char *address = strDst;
assert((strDst != NULL) && (strSrc != NULL));
while(*strSrc)
{
*strDst++ = *strSrc++;
}
*strDst = '\0';
return address;
}
strcmp函数的实现:
int strcmp(const char *str1, const char *str2)
{
int len = 0;
assert((str1 != NULL) && (str2 != NULL));
while(*str1 && *str2 && (*str1 == *str2))
{
str1++;
str2++;
}
return *str1 - *str2;
}
strlen函数的实现:
int strlen(const char *str)
{
int len = 0
assert(str != NULL);
while(*str++)
{
len++;
}
return len;
}