字符串处理函数的编程实现

来源:互联网 发布:东三环java培训 编辑:程序博客网 时间:2024/05/01 23:43

1.strlen的实现

int my_strlen(char *src){    int count = 0;    while(*src != '\0')    {        count++;    src++;    }    return count;}

2.strcpy的实现

char * my_strcpy(char *dest, char *src){    char *temp = dest;    while(*src != '\0')    {        *(temp++) = *(src++);    }    *temp = '\0';    return dest;}

3.strncpy的实现

char * my_strncpy(char *dest, char *src, int n){    int i;    if(my_strlen(src) < n)    {        return NULL;    }    for(i = 0; i < n; i++)    {        *(dest + i) = *(src + i);    }    *(dest + i) = '\0';    return dest;}

4.strcat的实现

char * my_strcat(char *dest, char *src){    char *temp = dest;    while(*temp != '\0')  //将指针移到dest末尾    {        temp++;    }    while(*src != '\0')    {        *(temp++) = *(src++);    }    *temp = '\0';    return dest;}

5.strcmp的实现

int my_strcmp(char *s1, char *s2){    while(*s1 != '\0' && *s2 != '\0')    {        if(*s1 - *s2 > 0)    {        return 1;    }    else if(*s1 - *s2 < 0)    {        return -1;    }    s1++;    s2++;    }    if(*s1 == '\0' && *s2 == '\0')    {        return 0;    }    else if(*s1 == '\0' && *s2 != '\0')    {        return -1;    }    else if(*s1 != '\0' && *s2 == '\0')    {        return 1;    }}
0 0