码迷,mamicode.com
首页 > 编程语言 > 详细

c语言实现完美strcpy,strlen,strcmp,strcat

时间:2015-07-14 15:34:16      阅读:118      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!