浅析C++中strlen函数的使用与模拟实现strlen的方法
strlen函数的简单运用与模拟实现strlen函数的简单使用strlen函数的三种模拟实现使用临时变量的方法使用函数递归的方法使用指针相减的方法
strlen函数的简单使用
strlen函数是用来计算字符串长度的一个函数,返回类型是size_t
#include#include intmain() { chararr[]="helloworld"; size_t;//返回值是size_tunsignedint intlen=strlen(arr); printf("len=%d\n",len); return0; } 
下面就是对于返回值类型是size_t的一个很形象的例子
intmain()
{
	constchar*p1="abc";
	constchar*p2="adbcdef";
	if(strlen(p1)-strlen(p2)>0)
		//因为返回值是无符号数,所以没有负数
	{
		printf("hehe");
	}
	else
	{
		printf("haha");
	}
	return0;
}
strlen函数的三种模拟实现
使用临时变量的方法
#include#include //模拟实现strlen size_tmy_strlen(constchar*str) { intcount=0;//计数器 assert(str!=NULL); //断言不是空指针,如果没有这步,当是空指针的时候可能会崩溃 while(*str!='\0') { count++; str++; } returncount; } intmain() { chararr[]="hello"; intlen=my_strlen(arr); printf("%d\n",len); return0; } 
使用函数递归的方法
#include#include //不使用临时变量 size_tmy_strlen(constchar*str) { assert(str!=NULL); if(*str!='\0') { return1+my_strlen(str+1); } else { return0; } } intmain() { chararr[]="hello"; intlen=my_strlen(arr); printf("%d\n",len); return0; } 
使用指针相减的方法
//指针相减的做法
size_tmy_strlen(constchar*str)
{
	assert(str!=NULL);
	constchar*start=str;
	//str不能初始化char类型,所以用const
	while(*str!='\0')
	{
		str++;
	}
	returnstr-start;
}
intmain()
{
	chararr[]="hello";
	intlen=my_strlen(arr);
	printf("%d\n",len);
	return0;
}
到此这篇关于strlen函数的使用与模拟实现strlen的文章就介绍到这了,更多相关strlen函数模拟实现strlen内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
