字符串操作函数的实现

//1、不用库函数实现strlen(),返回的是不包含\0的长度
int my_strlen(const char* str)
{
    int count=0;
    while(*str != '\0')
    {
        count++;
        str++;
    }
    return count;
}


//2、不用库函数实现strcat()
char* my_strcat(char *s1, const char *s2)
{
    int s1len=my_strlen(s1);
    int s2len=my_strlen(s2);

    for (int i = s1len; i < s1len+s2len; i++)
    {
        s1[i]=s2[i-s1len];
    }

    return s1;
}

//3、不用库函数实现strcpy()
char* my_strcpy(char* src, char* des)
{
    if(src==NULL || des == NULL)
        return NULL;

    for(;*src!='\0';src++)
        *des++ = *src;

    *des='\0';
    return des;
}


//4、不用库函数实现strcmp()
int my_strcmp(char const* p, char const* q)
{
    assert((*p != NULL) && (*q != NULL));

    while (*p==*q)
    {
        if (*p == '\0')
        {
            return 0;
        }
        p++;
        q++;
    }

    if(*p > *q)
        return 1;
    else
        return -1;
}

 

posted @ 2017-11-15 16:04  dangeal  阅读(286)  评论(0编辑  收藏  举报