strcpy 、 strlen 、strcat 函数的实现

 

#include<stdio.h>

char *mystrcpy(char *dest,char *src);
unsigned int mystrlen(char *src);
char *mystrcat(char *dest,char *src);

int main(int argc, const char *argv[])
{
    char str[20] = { 0 };
    char *p = NULL;
    p = "hello";
    char *p1 = "world";

    mystrcpy(str,p);
    mystrcat(str,p1);
    puts(str);
    printf("len = %d\n",mystrlen(str));
    
    return 0;
}

unsigned int mystrlen(char *src)
{
    char *head = src;

    if(src == NULL)
        return 0;
    while(*src != '\0')
        src++;

    return src - head;
}

char *mystrcpy(char *dest,char *src)
{
    char *old = dest;


    if(dest == NULL||src == NULL)
        return NULL;
    while(*src != '\0')
        *dest ++ = *src++;

        *dest ='\0';

    return old;
    
}

char *mystrcat(char *dest,char *src)
{
    char *old = dest;

    if (dest == NULL||src == NULL)
        return NULL;

    while(*dest != '\0')
        dest++;

    while(*src != '\0')
        *dest++ = *src++;

    *dest = '\0';

    return old;
}

 

posted @ 2013-10-08 18:53  阳光VS心情  阅读(257)  评论(0)    收藏  举报