C语言中strlen什么用法?
1个回答
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。\x0d\x0a原型:externunsignedintstrlen(char*s);,在VisualC++6.0中,原型为size_tstrlen(constchar*string);,其中size_t实际上是unsignedint,在VC6.0中可以看到这样的代码:typedefunsignedintsize_t;。\x0d\x0a头文件:string.h\x0d\x0a格式:strlen(字符数组名)\x0d\x0a功能:计算字符串s的(unsignedint型)长度,不包括'\0'在内\x0d\x0a说明:返回s的长度,不包括结束符NULL。\x0d\x0a\x0d\x0a因为字符串是以字符'\0'结尾的,但是这个'\0'在我们的字符串是隐藏的,我们看不到。实际上是有的.例如:\x0d\x0achara[4]="abc";//这里数组的元素个数至少应该是4,否则此字符串不叫字符串了,只能叫字符数组了。\x0d\x0astrlen判断一个字符串的结束就是以其末尾的'\0'为界限。其实现代码可以模拟为以下:\x0d\x0aintstrlen(char*p)\x0d\x0a{\x0d\x0ainti=0;\x0d\x0awhile(*p++)i++;\x0d\x0areturni;\x0d\x0a}\x0d\x0a所以他是不包括'\0'这个字符的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询