strlen()的用法

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,
直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。
原型:extern unsigned int strlen(char *s);
在Visual C++ 6.0中,原型为size_t strlen( const char *string );
其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t;。
  头文件:string.h
  格式:strlen (字符数组名)
  功能:计算字符串s的(unsigned int型)长度,不包括'\0'在内
  说明:返回s的长度,不包括结束符NULL。

因为字符串是以字符'\0'结尾的,但是这个'\0'在我们的字符串是隐藏的,我们看不到。实际上是有的.例如:
char a[4]="abc";//这里数组的元素个数至少应该是4,否则此字符串不叫字符串了,只能叫字符数组了。
strlen判断一个字符串的结束就是以其末尾的'\0'为界限。其实现代码可以模拟为以下:
int strlen(char *p)
{
  int i=0;
  while(*p++)i++;
  return i;
}
所以他是不包括'\0'这个字符的。

猜你喜欢

转载自blog.csdn.net/qiumingsheng/article/details/6588011