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()
注意:
strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\0’;
sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\0’;
length()函数求出的字符串长度不包含字符串末尾结束符’\0’;
当在函数内部使用sizeof()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。
C/C++的strlen(str)和str.length()和str.size()都可以求字符串长度。
其中str.length()和str.size()是用于求string类对象的成员函数,
strlen(str)是用于求字符数组的长度,其参数是char。
这三种函数strlen、length、size函数计算的字符串长度都不算最后的操作符’\0’。*
strlen函数用之前需要先对字符数组定义或初始化,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’};
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
原文地址:https://www.csdn.net/gather_24/NtTaEgxsOTQtYmxvZwO0O0OO0O0O.html