我是靠谱客的博主 老实铃铛,最近开发中收集的这篇文章主要介绍实现C语言常用字符串库函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

strlen

数组长度的计算是通过strlen来的,它的作用就是判断给定的数组元素个数,直到碰到结束

函数原型

size_t strlen ( const char * str );

废话少说,直接上代码

int my_strlen(char *str)
{
	char* ch=str;
	int count=0;
	while(*ch!='')
	{
		count++;
		ch++;
	}
	return count;
}

但考虑到安全性,因为求长度并不会改变源字符串,所以加上const修饰char,保证该字符串的内容不能被修改,但是可以改变指向

int my_strlen(const char *str)
{
	char* ch=str;
	int count=0;
	while(*ch!='')
	{
		count++;
		ch++;
	}
	return count;
}

strcpy

strcpy是将一个字符串含整体拷贝到另一个字符串中

原型为

char * strcpy ( char * destination, const char * source );
void my_strcpy(char* dest,const char *src)
{
	char * ch=src;
	while(*ch!='')
	{
		*dest=*ch;
		dest++;
		ch++;
	}
	*dest='';
}

同理不改变原字符串,所以加上const修饰。在最后记得手动给目的字符串加上,这样才能保证输出正确

strcat

原型

char * strcat ( char * destination, const char * source );
void my_strcat(char* dest,const char *src)
{
	char * ch=dest;
	while(*ch!='')ch++;
	while(*src!='')
	{
		*ch=*src;
		ch++;
		src++;
	}
	*ch='';
}

先遍历跑完目的字符串,接着再将原字符串所指的值一一赋给目的字符串.而因为是把原接在目的字符串后,所以目的字符串要足够大

strcmp

原型

int strcmp ( const char * str1, const char * str2 );
int my_strcmp(const char* str1,const char *str2)
{
	assert(str1);
	assert(str2);
	char * s1=str1;
	char * s2=str2;
	while(*s1==*s2)
	{
		if(*s1=='')
		{
			return 0;
		}
		s1++;
		s2++;
	}
	if(*s1>*s2)
	{
		return 1;
	}
	else
	{
		return -1;
	}
}



上面代码最后可以简化为return *s1-*s2,不过主函数里要相应更改了

总结

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

最后

以上就是老实铃铛为你收集整理的实现C语言常用字符串库函数的全部内容,希望文章能够帮你解决实现C语言常用字符串库函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(126)

评论列表共有 0 条评论

立即
投稿
返回
顶部