c/cstrlen(str )、str.length、str.size )和sizeof (str )可以计算字符串的长度。
其中str.length (、str.size )、sizeof和str )是用于查找string类对象的成员函数
strlen(str )用于计算字符数组的长度,其参数为char*。
补充知识:获取字符串长度的函数sizeof ()、strlen ()、length ()、size () )的详细信息和区别
有四种用c计算长度的函数: sizeof (、size )、strlen ()和str.length ()。
一. sizeof (和strlen ) )的区别:
1 ) sizeof运算符的结果类型是size_t,这确保它适合实现已建立的最大对象的字节大小。
2 ) sizeof是运算符,strlen是函数。
3 ) sizeof可以用模型构造参数,strlen只能用char*构造参数,必须以' ' ' '结尾。
4 ) sizeof在编译时计算,strlen在运行后计算。
5 ) strlen计算字符串的具体长度(仅限字符串),不含字符串终止符。 返回的是字符数。 sizeof计算声明后占用的内存数(字节大小),而不是实际长度。
示例:
1 ) char* ss='0123456789 ';
sizeof(ss )为4,ss是指向字符串常量的字符指针,sizeof获取指针所占的空间后为4
sizeof(ss )为1,) ss为第一个char字符,为1
2 ) char ss[]='0123456789 ';
sizeof(ss )为11,ss为数组,计算到'0'的位置,因此为(10 ) 1
sizeof(ss )是1,) ss是第一个字符
3 ) char ss[100]='0123456789 ';
sizeof(ss )为100,ss表示预先分配给存储器的大小,100*1
strlen(ss )为10,其内部实现在循环中将字符串长度计算到“ ”。
4 ) int ss[100]='0123456789 ';
sizeof(ss )为400,ss表示预先分配给存储器的大小,100*4
strlen(ss )错误。 strlen参数只能是char*,必须以'0'结尾
5 ) char[] a={'a '、' b '、' c'};
sizeof(a )的值必须为3。
char[] b={'abc'};
sizeof(b )的值应该是4。
6 ) string str={'a '、' b '、' c '、' '、' X'};
那么sizeof(str )是5,strlen (str )是3。
字符串的长度(和大小) )。
在c中,获取字符串的长度与size (函数为length )函数的工作方式相同。
例如,string str=“wang "
那么,str.length ()=4。
size ) )函数还可以获取向量类型的长度。
例如vector intnum (15,2 ) )。
,num.size ()=15。
获取以上c字符串长度的几种函数方式是编辑者共享给大家的所有内容。 希望能作为参考。 另外,我希望你支持编剧。