服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - 详解C语言对字符串处理函数的实现方法

详解C语言对字符串处理函数的实现方法

2022-08-01 11:22GREEN@dehua C/C++

这篇文章主要为大家介绍了C语言对字符串处理函数的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

strlen:

1.计数器版本:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
#include<string.h>
#include<assert.h>
int my_strlen(const char *str)
{
    int count =0;
    assert(str!=NULL);
    while(*str!='\0')
    {
        count++;
        str++;
    }
    return count;
 }

2.递归的版本

?
1
2
3
4
5
6
7
int my_strlen(const char *str)
{
 assert(str != NULL);
 if (*str == '\0')
 return 0;
 return (my_strlen(++str)+1);
}

3.指针-指针版本

?
1
2
3
4
5
6
7
8
9
10
11
int my_strlen(const char *str)
{
  char *end = str;
  assert(str!=NULL);
  assert(end!=NULL);
  while (*end != '\0')
  {
   end++;
  }
   return end - str;
}

strcat:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<string.h>
#include<assert.h>
char *my_strcat(char *dest,char *str)
{
    char *ret=dest;//存dest的首地址
    assert(dest&&str);
    while(*dest)
    {
        dest++;
    }
    while(*dest++=*str++);
    dest=ret;
    return dest;
}

strcmp:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int my_strcmp(char *str1, char *str2)
{
    assert(str1&&str2);
    while(*str1==*str2)
    {
        if(str1=='\0'&&str2=='\0')
        return 0;
        str1++;
        str2++;
    }
    if(*str1>*str2)
    return 1;
    return -1;
     //或return str1-str2;
 }

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/weixin_61675401/article/details/122204494

延伸 · 阅读

精彩推荐
  • C/C++C语言实现魔方阵算法(幻方阵 奇魔方 单偶魔方实现)

    C语言实现魔方阵算法(幻方阵 奇魔方 单偶魔方实现)

    魔方阵是指由1,2,3……n2填充的,每一行、每一列、对角线之和均相等的方阵,阶数n = 3,4,5…。魔方阵也称为幻方阵,看下面的实现方法吧...

    C语言教程网11202021-01-10
  • C/C++C++11 shared_ptr 与 make_shared源码剖析详解

    C++11 shared_ptr 与 make_shared源码剖析详解

    这篇文章主要介绍了C++11 shared_ptr 与 make_shared的源码剖析,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    私房菜4952022-01-07
  • C/C++C++编写LINUX守护进程的实现代码

    C++编写LINUX守护进程的实现代码

    这篇文章主要介绍了如何使用C++实现LINUX守护进程,文中代码非常详细,供大家学习参考,感兴趣的小伙伴可以了解下...

    晟夏的叶11002021-09-09
  • C/C++C++有限状态机实现计算器小程序

    C++有限状态机实现计算器小程序

    这篇文章主要为大家详细介绍了C++有限状态机实现计算器小程序的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以...

    砖瓦匠11942021-05-17
  • C/C++C语言中常用的几个头文件及库函数

    C语言中常用的几个头文件及库函数

    这篇文章主要介绍了C语言中常用的几个头文件及库函数的相关资料,需要的朋友可以参考下...

    文兔君5302021-06-03
  • C/C++C语言高效编程的几招小技巧

    C语言高效编程的几招小技巧

    这篇文章主要介绍了C语言高效编程的几招小技巧,本文讲解了以空间换时间、用数学方法解决问题以及使用位操作等编辑技巧,并给出若干方法和代码实例...

    C语言教程网10902021-02-26
  • C/C++如何用C语言去除字符串两边的空字符

    如何用C语言去除字符串两边的空字符

    本篇文章是对用C语言去除字符串两边空字符的方法进行了详细的分析介绍,需要的朋友参考下 ...

    C语言中文网2762020-12-09
  • C/C++openCV实现图像分割

    openCV实现图像分割

    这篇文章主要为大家详细介绍了openCV实现图像分割,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    JIGE_Vamos7942021-12-29