加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言实现strcat / strlen / strcmp / strcpy

发布时间:2020-12-16 10:49:18 所属栏目:百科 来源:网络整理
导读:主要考虑两点: 返回值对使用的便利性。 边界,null的判断。 strcat char *m_strcat(char *des,const char *src){ assert((des != NULL) (src != NULL)); char *add = des; while (*des != '') ++des; while (*des++ = *src++) ; return add;} strlen int

主要考虑两点:

  1. 返回值对使用的便利性。
  2. 边界,null的判断。

strcat

char *m_strcat(char *des,const char *src)
{
    assert((des != NULL) && (src != NULL));
    char *add = des;
    while (*des != '')
        ++des;
    while (*des++ = *src++)
        ;
    return add;
}

strlen

int m_strlen(const char *str)
{
    assert(str != NULL);
    int len = 0;
    while (*str != '')
    {
        ++str;
        ++len;
    }
    return len;
}

strcmp

int m_strcmp(const char *des,const char *src)
{
    // return 0 des==src,+ des>src,- des<src
    assert((des != NULL) && (src != NULL));
    while ((*des) == (*src))
    {
        if (*des == '')
            return 0;
        ++des;
        ++src;
    }
    return *des - *src;
}

strcpy

char *m_strcpy(char *des,const char *src)
{
    assert((des != NULL) && (src != NULL));
    char *add = des;
    while ((*des++ = *src++) != '')
        ;
    return add;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读