您的位置:首页 > 编程语言 > C语言/C++

C语言中strlen、strcpy、strncpy、strcat、strnact、strcmp、memcpy函数的实现

2016-09-14 22:21 519 查看
int mystrlen(char *src)//strlen函数  

{  

    int i;  

  

    i = 0;  

  

    while(*src != '\0')  

    {  

        src++;  

        i++;  

    }  

    return i;  

}  

char *mystrcpy(char *dest,char *src)//strcpy函数  

{  

    char *temp = dest;  

      

    while(*src != '\0')  

    {  

        *temp = *src;  

    temp++;  

    src++;  

    }  

    *temp = '\0';  

    return dest;  

}  

char *mystrncpy(char *dest, char *src,int n)//strncpy函数  

{  

    char *temp = dest;  

  

    int i = 0;  

  

    while(i != n)  

    {  

        *temp = *src;  

    temp++;  

    src++;  

    i++;  

    }  

    *temp = '\0';  

  

    return dest;  

}  

char *mystrcat(char *dest,char *src)//strcat函数  

{  

    char *temp = dest;  

    while(*temp != '\0')  

    {  

        temp++;  

    }  

    while(*src != '\0')  

    {  

        *temp = *src;  

    temp++;  

    src++;  

    }  

    *temp = '\0';  

    return dest;  

}  

char *mystrncat(char *dest,char *src,int n)//strncat函数  

{  

    int i = 0;  

    char *temp = dest;  

    while(*temp != '\0')  

    {  

        temp++;  

    }  

    while(i != n)  

    {  

        *temp = *src;  

    temp++;  

    src++;  

    i++;  

    }  

    return dest;  

}  

int mystrcmp(char *dest,char *src)//strcmp函数  

{  

    while(*src != '\0' && *dest != '\0')  

    {  

        if(*dest > *src)  

    {  

        return 1;  

    }  

    else if(*dest < *src)  

    {  

            return -1;  

        }  

    src++;  

    dest++;  

    }  

    if(*dest != '\0' && *src == '\0')  

    {  

        return 1;  

    }  

    if(*dest == '\0' && *src != '\0')  

    {  

        return -1;  

    }  

    if(*dest == '\0' && *src == '\0')  

    {  

        return 0;  

    }  

}  

char *mymemcpy(char *dest,char *src,int n) //memcpy函数  

{  

    unsigned char *temp_dest = (unsigned char*)dest;  

    unsigned char *temp_src = (unsigned char*)src;  

  

    while(n > 0)  

    {  

        *temp_dest = *temp_src;  

    temp_dest++;  

    temp_src++;  

        n--;  

    }  

  

    return dest;  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐