天天看点

自定义字符串函数:strlen,strcat,strcpy,strcmp

计算字符串长度函数strlen:

int mystrlen(char *s)
{
    int count = ;
    char *p = s;

    if (!p)
    {
        return count;
    }

    while (*p != '\0')
    {
        count++;
        p++;
    }

    return count;
}
           

字符串连接函数strcat:

int mystrcat(char str1[], char str2[])
{
    if (!str1 || !str2)
    {
        return;
    }
    int i = ;
    while (str1[i] != '\0')
    {
        i++;
    }
    int j = ;
    while (str2[j] != '\0')
    {
        str1[i++] = str2[j++];
    }
    str1[i] = '\0';
}
           

字符串拷贝函数strcpy:

int mystrcpy(char str1[], char str2[])
{
    int i = ;

    if (!str1 && !str2)
    {
        return;
    }

    while (str2[i] != '\0')
    {
        str1[i++] = str2[i];
    }
    str1[i] = '\0';
} 
           

字符串比较函数strcmp:

int mycmp(char str1[], char str2[])
{
    int i = ;

    while ((str1[i] == str2[i]) && str1[i] != '\0')
    {
        i++;
    }

    return str1[i]-str2[i];
}
           

另一种字符串比较方法,输出-1,0,1来达到比较效果:

int mycmp(char *str1, char *str2)
{
    for (; *str1 != '\0';)
    {
        if (*str1 > *str2)
        {
            return ;
        }
        else if (*str1 < *str2)
        {
            return -;
        }
        else
        {
            return ;
        }
        str1++;
        str2++;
    }
}
           

继续阅读