本篇文章为大家展示了c++中获取字符串长度的函数有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
C/c++ strlen (str) str.length (), str.size (), sizeof (str)都可以求字符串长度。
其中str.length (), str.size (), sizeof (str)是用于求字符串类对象的成员函数
strlen (str)是用于求字符数组的长度,其参数是char *。
<强>获取字符串长度的函数sizeof (), strlen(),(),长度尺寸()详解和区别强>
在c++中计算长度的函数有四种,它们分别是sizeof(),大小(),strlen (), str.length ()。
<强>一。sizeof()和strlen()两者区别:强>
1) sizeof操作符的结果类型是size_t,该类型保证能容纳实现所建立的最大对象的字节大小。
2)运算符是运算符,strlen是函数。
3)运算符可以用类型做参数,strlen只能用char *做参数,且必须是以& # 39;& # 39;\ 0 & # 39;& # 39;结尾的。
4)运算符在编译时期就计算出来,strlen在运行之后才能计算出来。
5) strlen计算字符串的具体长度(只能是字符串),不包括字符串结束符。返回的是字符个数.sizeof计算声明后所占的内存数(字节大小),不是实际长度。
<强>举例:强>
1) char * ss=?123456789“;
引用>sizeof (ss)为4,党卫军是指向字符串常量的字符指针,sizeof获得的是指针所占的空间,则为4
运算符(* ss)为1,* ss是第一个char字符,则为1
2) char党卫军[]=?123456789“;
引用>sizeof (ss)为11,党卫军是数组,计算到& # 39;\ 0 & # 39;位置,因此是(10 + 1)
运算符(* ss)为1,* ss是第一个字符
3) char党卫军[100]=?123456789“;
引用>sizeof (ss)为100,党卫军表示在内存中预分配的大小,100 * 1
strlen (ss)为10,它的内部实现用一个循环计算字符串的长度,直到& # 39;\ 0 & # 39;为止。
4) int党卫军[100]=?123456789“;
引用>sizeof (ss)为400,党卫军表示在内存中预分配的大小,100 * 4
strlen (ss)错误,strlen参数只能是char *,且必须是以& # 39;\ 0 & # 39;结尾
5) char[]={& # 39;一个# 39;& # 39;b # 39;, & # 39; c # 39;};
引用>sizeof (a)的值应该为3 .
char [] b={“abc"};
sizeof (b)的值应该是4 .
6)若字符串str={& # 39;一个# 39;& # 39;b # 39;, & # 39; c # 39;, & # 39; \ 0 & # 39;, & # 39; x # 39;};
引用>那么sizeof (str)为5,strlen (str)为3 .
<强>二。中字符串的长度()和大小()强>
c++中,在获取字符串长度时,大小()函数与长度()函数作用相同。
例如:字符串str="王"
则,str.length ()=4。
除此之外,大小()函数还可以获取矢量类型的长度。
例如:向量& lt;int>num (15, 2)
则,num.size ()=15。
上述内容就是c++中获取字符串长度的函数有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
c++中获取字符串长度的函数有哪些