实现常用字符串函数的功能

原创 2016年11月14日 22:23:23

在现在的Linux版本下,支持许多的API函数,平时我们用得是挺舒服的,但是我们不光要用API函数,更重要的是,我们要知道这些API函数是怎样工作,执行的。我就用字符串的几个重要的函数来举例

一:字符串比较函数strcmp();

/*****************************************************
copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. 
Authorer  ChenYangYang     erey_Jobs    Version:0.1    Date: 2016/11/14
Description 自己实现字符串的比较函数
Funcion List: 
*****************************************************/

#include <stdio.h>

#define MAX_SIZE 1024

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

    if(*src == '\0' && *temp == '\0')
    {
        return 0;
    }

    if(*src == '\0' && *temp != '\0')
    {
        return 1;
    }

    if(*temp == '\0' && *src != '\0')
    {
        return  -1;
    }
}

int main()
{
    char src[MAX_SIZE] = "hello world a";
    char dest[MAX_SIZE] = "hello world ";

    int result = my_strcmp(dest,src);

    printf("result = %d\n",result);

    return 0;
}



二:字符串连接函数strcat();

/*****************************************************
copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. 
Authorer ChenYangYang     erey_Jobs    Version:0.1    Date:2016/11/14 
Description 字符串连接函数
Funcion List: 
*****************************************************/

#include <stdio.h>

#define MAX_SIZE 1024

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

int main()
{
    char src[MAX_SIZE] = "hi  where are yo doing";
    char dest[MAX_SIZE] = "how are you";

    char *temp = my_strcat(dest,src);

    printf("temp = %s\n",temp);
    printf("dest = %s\n",dest);


    return 0;
}


三:字符串长度strlen();

/*****************************************************
copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. 
Authorer ChenYangYang erey_Jobs    Version:0.1    Date:2016/11/14 
Description 自己实现字符串长度函数
Funcion List: 
*****************************************************/

#include <stdio.h>
#include <string.h>
#define MAX_SIZE 1024

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

int main()
{
    char src[MAX_SIZE] = "hello world";
    int len;
    len = my_strlen(src);

    printf("the len = %d\n",len);

    return 0;
}


四:字符串拷贝函数strcpy();

/*****************************************************
copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. 
Authorer ChenYangYang    Version:0.1    Date:2016/11/14 
Description 自己实现字符串拷贝函数
Funcion List: 
*****************************************************/

#include <stdio.h>
#include <string.h>
#define MAX_SIZE 
char *my_strcpy(char *dest, char *src)
{
    char *temp = dest;
    while(*src != '\0')
    {
        *temp = *src;
        *temp++;
        *src++;
    }
    *temp = '\0';
    return dest;
}

int main()
{
    char src[MAX_SIZE] = "welcome to china";
    char dest[MAX_SIZE] = "hello world";

    char *temp = my_strcpy(dest,src);

    printf("temp = %s\n",temp);
    printf("dest = %s\n",dest);

    return 0;
}


版权声明:允许转载,标明出处就可以了

相关文章推荐

自己编写代码实现常用字符串函数的功能

常见的字符串函数包括strlen,strcpy和strncpy,strcat和strncat,strcmp和strncmp,下面一一描述他们的功能和实现方法。 ①strlen() 原型:exter...

【笔试】不调用C/C++字符串库函数,实现strcpy的功能

char* strcpy(char* strDest, char* strSrc) { if(strSrc==NULL || strDest==NULL) throw "in...

用c实现strstr函数(子字符串查找)功能

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #includechar *mystrstr(const char *dst_...

mysql语句实现php函数explode()的分割字符串功能

首先:arry explode(string $sep,string $string[,int $limit]);函数功能是用指定分隔符$sep把字符串分割成数组。 i.e.  $string =...
  • sqx2011
  • sqx2011
  • 2012年10月08日 13:53
  • 1626

PHP字符串替换函数strtr()的功能实现讲解

我们今天要向大家讲的内容是有关PHP字符串替换函数strtr()的相关介绍。对于初学者来说,对于PHP字符串替换函数strtr()的了解还比较浅显,希望通过本文介绍的内容能够让大家深入了解这个函数的具...

请写一个函数,实现类似的strcpy的字符串复制功能

这个题目看起来很简单,但要完整的实现其功能还是得下的功夫 先来看下一个经典错误的程序 char * mystrcpy(char *dest,char *src) { char *ret...
  • czxyhll
  • czxyhll
  • 2012年09月06日 17:17
  • 4483

C语言常用字符串库函数实现

早闻写技术博客的N种功效,将理解的东西写出来,既满足了自己的自豪感,还能让藏在民间的高手指出不足或错误之处,实及一大好事。虽为一学生,无工作、缺女友,但还是诸事烦身,博客也已许久没有加入新的文章了。今...

C风格字符串常用标准库函数的实现与注意点

1、strcpy()函数的实现 char *MyStrCopy(char *strDesc, const char *strSource) {       assert((NULL != strDes...
  • jw19881
  • jw19881
  • 2012年08月27日 16:06
  • 465

常用字符串函数原理及实现

1.函数名称: memchr 字符串函数实现,防止memchr函数重载,定义为memchr_m 函数在buffer指向的数组的count个字符的字符串里查找ch 首次出现的位置。 返回一个指针,指向c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现常用字符串函数的功能
举报原因:
原因补充:

(最多只允许输入30个字)