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

原创 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;
}


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

SQL server常用的字符串函数、日期函数、数学函数;

1.字符串函数: charindex()寻找一个指定字符串在另外一个字符串的起始位置索引; len()返回给定字符串的长度; upper()把给定的字符串转换成大写; lower()把给定的字...
  • qq_38842357
  • qq_38842357
  • 2017年06月20日 15:55
  • 244

SQLServer常用的字符串函数

SQLServer 常用的字符串函数
  • feng19821209
  • feng19821209
  • 2017年04月23日 23:44
  • 203

PHP常用字符串函数小结

一、判断类型的函数 is_bool() //判断是否为布尔型 is_float() //判断是否为浮点型 is_real() //同上 is_int() ...
  • wujiangwei567
  • wujiangwei567
  • 2015年01月16日 11:31
  • 2943

字符串格式参数的日期比较函数

我在NT Service里,使用delphi的CompareDate函数出错,我怀疑这个函数有bug,总是说我的参数多了'',所以没办法自己弄了一个! { //功能:比较日期 //参数: ...
  • sunylat
  • sunylat
  • 2013年07月23日 14:07
  • 2281

oracle 字符串函数、数学函数、日期函数、其他函数、sql的执行过程 ORACLE 常用函数

一 、字符串函数—————————————————————————————————————— 1.upper(str)  小写到大写 例:upper(kkkuuu)---KKKUUU 2....
  • fznf1010
  • fznf1010
  • 2012年09月06日 16:05
  • 1931

php中字符串处理函数中最常用的6个

substr; trim; explode; md5; strlen; strtoupper;
  • leng7yue
  • leng7yue
  • 2016年05月03日 11:31
  • 1767

模拟实现常用字符串函数

1、查找子字符串函数strstr的实现 char *  my_strstr(const char * dest, const char * src)//const保护字符串不被更改 { asser...
  • LeetCode8023
  • LeetCode8023
  • 2016年05月29日 17:22
  • 140

常用字符串函数实现(面试题)

今天偶然看到了一个实现strlen函数的方法,也实际练习了一下,挺有意义的,其实现的一些思想值得学习,记录一下吧。我这里除了写两个比较巧妙的递归实现之外,也写了另外一种常规的方式。 传说常见的一个笔...
  • brilliantlight
  • brilliantlight
  • 2011年10月09日 17:36
  • 398

C语言常用字符串操作函数总结

C语言常用字符串操作函数总结
  • Leeds1993
  • Leeds1993
  • 2017年03月09日 20:30
  • 719

str类常用函数源代码

strlen() 求字符串的长度 源代码: #include //strlen 源码 int strlen(const char *str) {     assert(*str != '\...
  • lyztyycode
  • lyztyycode
  • 2017年05月06日 23:24
  • 323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现常用字符串函数的功能
举报原因:
原因补充:

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