获取字符串长度的函数sizeof()、strlen()、length()、size()详解和区别
在C++中计算长度的函数有四种,它们分别是sizeof() ,size(),strlen(),str.length()。
一.sizeof()和strlen()两者区别:
1)sizeof操作符的结果类型是size_t,该类型保证能容纳实现所建立的最大对象的字节大小。
2)sizeof是运算符,strlen是函数。
3)sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。
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,它的内部实现用一个循环计算字符串的长度,直到'\0'为止。
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','\0','X'};
那么sizeof(str)为5,strlen(str)为3。
二.string中的length()和size()
c++中,在获取字符串长度时,size()函数与length()函数作用相同。
例如:string str = “wang”
则,str.length() = 4。
除此之外,size()函数还可以获取vector类型的长度。
例如:vector < int> num(15,2)
则,num.size() = 15。
参考:https://blog.csdn.net/z_qifa/article/details/77744482
获取字符串长度的函数sizeof()、strlen()、length()、size()详解和区别相关推荐
- java .size,Java中length,length(),size()详解及区别
Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...
- length,length(),size()详解及区别
length属性:用于获取数组长度. int ar[] = new int{1,2,3}/** * 数组用length属性取得长度 */int lenAr = ar.length;//此处lenAr= ...
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- c/c++中sizeof()、strlen()、length()、size()详解和区别
c/c++中获取字符串长度.有以下函数:size().sizeof() .strlen().str.length(); 一.数组或字符串的长度:sizeof().strlen() 1.sizeof() ...
- Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码
前言 Pandas常用作数据分析工具库以及利用其自带的DataFrame数据类型做一些灵活的数据转换.计算.运算等复杂操作,但都是建立在我们获取数据源的数据之后.因此作为读取数据源信息的接口函数必然拥 ...
- php求字符串长度函数是,PHP中获取字符串长度的函数是 。
[判断题]探索精神不属于创新精神的表现? [单选题]从结构分类上,5-FU是( )类的抗代谢物 [单选题]当前占跨境电子商务比重较低,但增长最为迅速的是哪一部分 [多选题]要降低树木栽植后蒸腾作用以提 ...
- PHP字符串函数strlen(获取字符串长度)
在PHP中,字符串函数 strlen() 用来获取字符串长度. 函数语法: strlen ( string $string ) : int 函数参数说明: 参数 描述 string 必需.规定 ...
- php里那些函数是获取字符串长度,【后端开发】PHP获取字符串长度函数strlen()函数...
在一些网站注册或者其他活动中,我们需要用户提交一些信息,对于这些信息会有一定的要求,比如用户注册信息有一些限制长度不能小于多少大于多少.这里我们就需要使用PHP自带函数进行获取操作. 获取字符串长度使 ...
- 获取字符串长度的几种办法
目录视图 摘要视图 订阅 4.5.8 字符串的长度 字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目.常见的获取字符串长度的方法包括如下几种. 1.使用size ...
- C++常用字符串长度计算函数
字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目.常见的获取字符串长度的方法包括如下几种. 1.使用sizeof获取字符串长度sizeof的含义很明确,它 ...
最新文章
- 终于,我也到了和 Eclipse 说再见的时候,难说再见
- C#LeetCode刷题之#561-数组拆分 I(Array Partition I)
- c和java哪个好学_编程入门学习c++和Java哪个比较好
- 13.PHP核心技术与最佳实践 --- Hash 算法与数据库实现
- 围棋对杀,为何总是只差一气
- 编程猫fiddler插件
- 人工智能测试-爬百度成语-测成语接龙
- 路飞学城-Python开发-第一章
- CPU使用率和负载区别及分析
- 这个计算机到底是咋入门的(1.0)胡学友修改版
- 营业执照验证php,基于PHP的营业执照识别示例代码-六派数据
- hazelcast 搭建_Spring Boot集成Hazelcast实现集群与分布式内存缓存
- 高性能Excel操作工具
- OSChina 周五乱弹 ——程序员脱单攻略!
- 简单好用的二级区域选择控件
- 人工智能未来前景怎么样 初学者能学python人工智能吗
- Foundations of Machine Learning 2nd——第二章 PAC学习框架 后记
- Spark3.2.0集群搭建
- 神州网信17134.1下载
- Mybatis分页插件PageHelper使用教程(图文详细版)