实现自己的字符串函数

来源:互联网 发布:windows7查看端口占用 编辑:程序博客网 时间:2024/06/15 14:40
实现自己的字符串函数
    因为在面试的时候,很多公司是不允许使用C语言里的库函数的,这就要求我们要自己实现一些函数功能。在这里,我向大家分享一下我写的关于字符串的函数。虽然简单,却很实用。
    my_strcmp(strcmp);
<span style="font-size:24px;">int  my_strcmp(char *dest ,char *src){        while(*dest != '\0' && *src != '\0')    {               if(*dest > *src)        {            return (-1);        }        else if(*dest < *src)        {            return (1);        }        dest ++;        src ++;    }    if(*dest == '\0' && *src != '\0')    {        return (1);    }    else if(*dest != '\0'  && *src == '\0')    {        return (-1);    }    else    {        return 0;    }    }</span>

my_strcpy(strcpy) ;
<span style="font-size:24px;">char * my_strcpy(char *dest ,char *src){    char *temp = dest;    while(*src != '\0')    {        *dest = *src;         dest ++;         src ++;    }    *dest  = '\0';    return temp;}</span>
<span style="font-size:24px;"><span style="white-space:pre"></span>my_strcat(strcat);</span>
<span style="font-size:24px;">char * my_strcat(char *dest ,char *src){    int len = strlen(src);    int i = 0;    char *temp = dest;       while(*temp != '\0')    {         temp ++;    }        while(i < len)    {        *temp = *src;        temp ++;        src ++;        i ++;    }    *temp ='\0';        return dest;}</span>
my_strchr(strchr)
<span style="font-size:24px;">char *  my_strchr(char * str , char ch){    while(*str != '\0' )    {               if(*str  == ch)        {            return str;        }        str ++;    }    return NULL;}</span>

my_strlen(strlen)
<span style="font-size:24px;">int my_strlen(char *ptr){    int len = 0;    while(*ptr != '\0')    {        len ++;        ptr ++;    }    return len;}</span>

my_strstr(strstr)
<span style="font-size:24px;">char * my_strstr(char *str , char * deset){    int len_deset = strlen(deset);        int i = 0;    while(*str != '\0')    {        for(i = 0 ; i < len_deset ; i ++)        {            if(*(str + i) != * (deset + i))            {                break;            }            return str;        }        str ++;    }    return NULL;}</span>

my_strtok(strtok)
<span style="font-size:24px;">char * my_strtok(char *str , char *delim){    int len_delim = strlen(delim);    char * temp = str;    static char * flag;    int i = 0;    if(str != NULL)    {        while(*temp != '\0')        {                for(i = 0 ; i < len_delim ; i++)            {                if(*(temp + i) != *(delim + i))                {                    break;                }            }            if(i == len_delim)            {                *temp = '\0';                flag = temp;                return str;            }            temp ++;        }        return NULL;    }    else    {        temp = flag + 1;        char *ch = temp;        if(*delim == '\0')        {            return ch;        }        while(*temp != '\0')        {                for(i = 0 ; i < len_delim ; i++)            {                if(*(temp + i) != *(delim + i))                {                    break;                }            }            if(i == len_delim)            {                *temp = '\0';                flag = temp;                return  ch;            }            temp ++;        }        return ch;    }    }</span>



0 0
原创粉丝点击