标签:strcpy strlen strcmp strcat
相信不少人面试的时候,会遇到面试官让你写出strcmp, strlen, strcpy,strcat等函数,下面给出比较完美的实现,自行把握里面一些关键的点,例如参数的判断,const参数,指针操作等等。
//strcpy函数:
char *strcpy(char *strDest, const char *strSrc)
{
if (strDest == NULL || strSrc == NULL)
return NULL;
if (strDest == strSrc)
return strDest;
char *tmpStr = strDest;
while( (*strDest++ = *strSrc++) != ‘\0’);
*strDest = '/0';
return tmpStr;
}
//strlen函数:
int strlen(const char *str)
{
int len = 0;
if(str == NULL) {
return 0;
}
while(*str++) {
len++;
}
return len;
}
//strcat函数:
char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数
{
char *tmpStr = strDest;
if ((strDest != NULL) && (strScr != NULL)) {
return NULL;
}
while(*strDest) {
strDest++;
}
while(*strDest++ = *strScr++);
return tmpStr;
}
//strcmp函数:
int strcmp(const char *str1,const char *str2)
{
int len = 0;
assert((str1 != '/0') && (str2 != '/0'));
while(*str1 && *str2 && (*str1 == *str2))
{
str1++;
str2++;
}
return *str1-*str2;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
c语言实现完美strcpy,strlen,strcmp,strcat
标签:strcpy strlen strcmp strcat
原文地址:http://blog.csdn.net/xiaokfc/article/details/46877341