C/C++语言计算字符串长度

1.自定义函数求长度
2.使用strlen()函数
3.使用sizeof()操作符
4.使用length()函数
利用自定义函数的方法:

int cont_str(char *s)
{
int i = 0;      
while ( str[i++]= '\0')
;
return i;
}

利用string头文件中的strlen()函数:

strlen(str); //假设str为待求的字符串数组名

使用sizeof()操作符

sizeof(str)/sizeof(str[0]); //假设str为待求的字符串数组名

使用length()函数

char a[10]
std::cin>>a;
length=a.length()

注意:

  1. strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\0’;
  2. sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\0’;
  3. length()函数求出的字符串长度不包含字符串末尾结束符’\0’;
  4. 当在函数内部使用sizeof()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。
  5. C/C++的strlen(str)和str.length()和str.size()都可以求字符串长度。其中str.length()和str.size()是用于求string类对象的成员函数,strlen(str)是用于求字符数组的长度,其参数是char*。
  6. 这三种函数strlen、length、size函数计算的字符串长度都不算最后的操作符’\0’。
  7. strlen函数用之前需要先对字符数组定义,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’};
  8. getchar()就是从键盘获取字符,直到回车为止。

第一种:strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到’\0’停止。
第二种:sizeof(),求所占总空间的字节数。
strlen函数用法见下链接:
https://blog.csdn.net/u012209626/article/details/47449885
cin.get()函数、cin.getline()函数、getline()函数、gets()函数、getchar()函数用法见下链接:
https://www.cnblogs.com/qiang-wei/p/9332201.html

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐