C/C++面试笔试题(整合)不看会后悔:不调用库函数,自定义实现:strlen,strcpy,strcmp,strcat函数

不看会后悔的!!!

自定义实现:strlen,strcpy,strcmp,strcat函数

1.实现strlen()函数:

unsigned int doStrlen(char* v_pStr)
{
    unsigned int iCount = 0;
    if(v_pStr == NULL)
    {
        printf("error\n");
    }
    while(*v_pStr++ != '\0')
    {
        iCount++;
    }
    return iCount;
}

2.实现strcpy()函数:

char* doStrcpy(char *a,char* b)
{
	char* straddr = a;
    assert((a!=NULL)&&(b!=NULL));
    while((*a++ == *b++) != '\0');
    return straddr;
}

3.实现strcmp()函数:

int my_strcmp( const char *dst, const char *scr )
{
	assert(dst);
	assert(scr);
	while( '\0' != *dst && '\0' != *scr )
	{
		if( *dst == *scr )
		{
			dst++;
			scr++;
		}
		else if(*dst > *scr)
		{
			return 1;
		}
		else
		{
			return -1;
		}
	}
	if( *dst != '\0' && *scr == '\0')
	{
		return 1;
	}
	if( *dst == '\0' && *scr != '\0')
	{
		return -1;
	}

	return 0;
}

4.实现strcat()函数:

void doStrcat(char* v_pStr,char* v_pstrCat)
{
    assert((v_pStr !=NULL) && (v_pstrCat!= NULL));
    while(*v_pStr!= '\0')
    {
        v_pStr++;
    }
    while(*v_pstrCat != '\0')
    {
        *v_pStr++ = *v_pstrCat++;
    }
    *v_pStr = '\0';
}
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值