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

 更新时间:2021年12月29日 15:38:38   作者:GREEN@dehua  
这篇文章主要为大家介绍了C语言对字符串处理函数的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

strlen:

1.计数器版本:

#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.递归的版本

int my_strlen(const char *str)
{
 assert(str != NULL);
 if (*str == '\0')
 return 0;
 return (my_strlen(++str)+1);
}

3.指针-指针版本

int my_strlen(const char *str)
{
  char *end = str;
  assert(str!=NULL);
  assert(end!=NULL);
  while (*end != '\0')
  {
   end++;
  }
   return end - str;
}

strcat:

#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:

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

总结

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

相关文章

  • C读txt到二维数组的实现方法

    C读txt到二维数组的实现方法

    下面小编就为大家带来一篇C读txt到二维数组的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C++ LeetCode542矩阵示例详解

    C++ LeetCode542矩阵示例详解

    这篇文章主要为大家介绍了C++ LeetCode542矩阵示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • OpenGL实现边缘填充算法

    OpenGL实现边缘填充算法

    这篇文章主要为大家详细介绍了OpenGL实现边缘填充算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • C语言实现学生消费管理系统

    C语言实现学生消费管理系统

    这篇文章主要为大家详细介绍了C语言实现学生消费管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++11 成员函数作为回调函数的使用方式

    C++11 成员函数作为回调函数的使用方式

    这篇文章主要介绍了C++11 成员函数作为回调函数的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C语言数据结构实现银行模拟

    C语言数据结构实现银行模拟

    这篇文章主要介绍了C语言数据结构实现银行模拟的相关资料,通过此文希望大家能理解离散化的方法,希望能帮助到大家,需要的朋友可以参考下
    2017-08-08
  • C++ 详细讲解对象的构造顺序

    C++ 详细讲解对象的构造顺序

    对象的构造往往和构造函数会牵扯在一起,构造函数的函数可能会由非常复杂的逻辑所组成,不同类的构造函数的程序逻辑很可能是相互依赖的,当这种相互依赖一旦成立,那么对象的构造顺序很可能导致难以调试的Bug出现
    2022-04-04
  • C语言中将日期和时间以字符串格式输出的方法

    C语言中将日期和时间以字符串格式输出的方法

    这篇文章主要介绍了C语言中将日期和时间以字符串格式输出的方法,分别是ctime()函数和asctime()函数,注意参数区别,需要的朋友可以参考下
    2015-08-08
  • C语言大小端模式、判断大小端、大小端转换方法详解

    C语言大小端模式、判断大小端、大小端转换方法详解

    这篇文章主要介绍了C语言大小端模式、判断大小端、大小端转换的相关资料,大端和小端是数据在内存中的存储方式,大端模式下高字节存于低地址,小端模式则相反,大小端问题由数据类型多字节存储引起,不同选择形成不同存储模式,需要的朋友可以参考下
    2024-10-10
  • C/C++实现数字与字符串互相转换的多种方法

    C/C++实现数字与字符串互相转换的多种方法

    在C/C++程序中,会需要把数字与字符串做出互相转换的操作,用于实现程序想要的效果,下面将介绍多种方法实现数字与字符串互相转换,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08

最新评论