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

计算字符串长度函数strlen:

int mystrlen(char *s)
{
    int count = 0;
    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 = 0;
    while (str1[i] != '\0')
    {
        i++;
    }
    int j = 0;
    while (str2[j] != '\0')
    {
        str1[i++] = str2[j++];
    }
    str1[i] = '\0';
}

字符串拷贝函数strcpy:

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

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

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

字符串比较函数strcmp:

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

    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 1;
        }
        else if (*str1 < *str2)
        {
            return -1;
        }
        else
        {
            return 0;
        }
        str1++;
        str2++;
    }
}

你可能感兴趣的:(自定义字符串函数:strlen,strcat,strcpy,strcmp)