在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()详解和区别相关推荐

  1. java .size,Java中length,length(),size()详解及区别

    Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...

  2. length,length(),size()详解及区别

    length属性:用于获取数组长度. int ar[] = new int{1,2,3}/** * 数组用length属性取得长度 */int lenAr = ar.length;//此处lenAr= ...

  3. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  4. c/c++中sizeof()、strlen()、length()、size()详解和区别

    c/c++中获取字符串长度.有以下函数:size().sizeof() .strlen().str.length(); 一.数组或字符串的长度:sizeof().strlen() 1.sizeof() ...

  5. Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码

    前言 Pandas常用作数据分析工具库以及利用其自带的DataFrame数据类型做一些灵活的数据转换.计算.运算等复杂操作,但都是建立在我们获取数据源的数据之后.因此作为读取数据源信息的接口函数必然拥 ...

  6. php求字符串长度函数是,PHP中获取字符串长度的函数是 。

    [判断题]探索精神不属于创新精神的表现? [单选题]从结构分类上,5-FU是( )类的抗代谢物 [单选题]当前占跨境电子商务比重较低,但增长最为迅速的是哪一部分 [多选题]要降低树木栽植后蒸腾作用以提 ...

  7. PHP字符串函数strlen(获取字符串长度)

    在PHP中,字符串函数 strlen() 用来获取字符串长度.     函数语法: strlen ( string $string ) : int 函数参数说明: 参数 描述 string 必需.规定 ...

  8. php里那些函数是获取字符串长度,【后端开发】PHP获取字符串长度函数strlen()函数...

    在一些网站注册或者其他活动中,我们需要用户提交一些信息,对于这些信息会有一定的要求,比如用户注册信息有一些限制长度不能小于多少大于多少.这里我们就需要使用PHP自带函数进行获取操作. 获取字符串长度使 ...

  9. 获取字符串长度的几种办法

    目录视图 摘要视图 订阅 4.5.8  字符串的长度 字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目.常见的获取字符串长度的方法包括如下几种. 1.使用size ...

  10. C++常用字符串长度计算函数

    字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目.常见的获取字符串长度的方法包括如下几种.     1.使用sizeof获取字符串长度sizeof的含义很明确,它 ...

最新文章

  1. 终于,我也到了和 Eclipse 说再见的时候,难说再见
  2. C#LeetCode刷题之#561-数组拆分 I(Array Partition I)
  3. c和java哪个好学_编程入门学习c++和Java哪个比较好
  4. 13.PHP核心技术与最佳实践 --- Hash 算法与数据库实现
  5. 围棋对杀,为何总是只差一气
  6. 编程猫fiddler插件
  7. 人工智能测试-爬百度成语-测成语接龙
  8. 路飞学城-Python开发-第一章
  9. CPU使用率和负载区别及分析
  10. 这个计算机到底是咋入门的(1.0)胡学友修改版
  11. 营业执照验证php,基于PHP的营业执照识别示例代码-六派数据
  12. hazelcast 搭建_Spring Boot集成Hazelcast实现集群与分布式内存缓存
  13. 高性能Excel操作工具
  14. OSChina 周五乱弹 ——程序员脱单攻略!
  15. 简单好用的二级区域选择控件
  16. 人工智能未来前景怎么样 初学者能学python人工智能吗
  17. Foundations of Machine Learning 2nd——第二章 PAC学习框架 后记
  18. Spark3.2.0集群搭建
  19. 神州网信17134.1下载
  20. Mybatis分页插件PageHelper使用教程(图文详细版)

热门文章

  1. protel99se原理图的元件符号和封装符号大全
  2. 自定义View实现2048
  3. 2016--MatConvNet Convolutional Neural Networks for MATLAB
  4. 常用纽扣电池的型号对照表
  5. 摄像头网络模组的使用
  6. 微信公众号群发图文API插入视频音频解决方案
  7. 卡诺模型案例分析_需求分析神器 | 卡诺模型
  8. TJA1101汽车网卡调试
  9. 浅谈大学公寓智能用电管理系统方案
  10. 20135202闫佳歆——信息安全系统设计基础第六周学习总结