c语言实现My_string-创新互联

实现strcpy strcat strstr strchr strcmp memcpy memove

为大理州等地区用户提供了全套网页设计制作服务,及大理州网站建设行业解决方案。主营业务为网站建设、网站设计、大理州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
char my_strcpy(char *dest, const char *src)//实现strcpy
{
    assert(dest);
    assert(src);
   while (*src)
    {
        *dest = *src;
        dest++;
        src++;
    }
    *dest = '\0';
}

int main()
{
    char dest[20] ="1234567890";
    char src []= "abcdef";
    my_strcpy(dest, src);
    printf("%s\n", dest);
    system("pause");
    return 0;
}
#include
#include

char my_strcat(char *dest, const char *src)//实现strcat
{
    assert(dest);
    assert(src);
   while (*dest != '\0')
    {
        dest++;
    }
   while (*src != '\0')
    {
        *dest = *src;
        dest++;
        src++;
    }
}
int main()
{
    char dest[20] = "1234567890";
    char src []= "abcdef";
    my_strcat(dest, src);
    printf("%s", dest);
    system("pause");
    return 0;
}
#include
const char *Mystrchr(const char *src, char ch)//实现strchr
{
   while (*src != '\0')
    {
        if (*src == ch)
        {
            return src;
        }
        src++;
    }
    return NULL;
}
int main()
{
    char str[10] = "abcdefg";
    char a = 'b';
    printf("%s", Mystrchr(str,a));
    system("pause");
    return 0;
}
#include
#include

const char *My_strstr(const char *str1, const char *str2)实现strstr
{
    const char *s1 = NULL;
    const char *s2 = NULL;
    const char *start = str1;
   while (*start != '\0')
    {
        s1 = start;//s1回退到上一次的下一个位置
        s2 = str2;//s2回退到str2的起始位置
       while (*s1 != '\0' && *s2 != '\0'&&*s1 == *s2)
        {
            s1++;
            s2++;
        }
        if (*s1 == '\0')
        {
            return NULL;
        }
        if (*s2 == '\0')
        {
            return start;
        }
        start++;
    }
    return NULL;
}

int main()
{
    char dest[20] = "123aabcdef90";
    char src []= "abcdef";
    printf("%s\n", My_strstr(dest, src));
    system("pause");
    return 0;
}
#include
#include

int* my_strcmp(char *dest, const char *src)实现strcmp
{
    assert(dest);
    assert(src);
       while (*dest != '\0'&&*src!='\0')
        {
            if (*dest == *src)
            {
                dest++;
                src++;
            }
            else if (*dest > *src)
            {
                return 1;
            }
            else
            {
                return -1;
            }
        }
        return 0;
}
int main()
{
    char dest[] = "abcdef";
    char src []= "adcdef";
    int ret = my_strcmp(dest, src);
    printf("%d",ret);
    system("pause");
    return 0;
}
#include
#include

void *Mymemcpy(void *dest, const void *src, int count)//实现mencpy
{
   while (count != 0)
    {
        *((char*)dest) = *((char*)src);
        ((char*)dest)++;
        ((char*)src)++;
        count--;
    }
}

int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9};
    int arr2[10] = {0};
    int i = 0;
    Mymemcpy(arr2,arr,16);
    for (; i < 10; i++)
    {
        printf("%d",arr2[i]);
    }
    system("pause");
    return 0;
}#include
#include

void *Mymemcpy(void *dest, const void *src, int count)//实现memcpy//count是字节数
{
   while (count != 0)
    {
        *((char*)dest) = *((char*)src);
        ((char*)dest)++;
        ((char*)src)++;
        count--;
    }
}

int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9};
    int arr2[10] = {0};
    int i = 0;
    Mymemcpy(arr2,arr,16);
    for (; i < 10; i++)
    {
        printf("%d",arr2[i]);
    }
    system("pause");
    return 0;
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:c语言实现My_string-创新互联
文章出自:http://ybzwz.com/article/copdip.html