C/C++ strlen(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*做参数,且必须是以''\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。

以上这篇C++获取字符串长度的几个函数方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

c 语言读取字符串长度,C++获取字符串长度的几个函数方式相关推荐

  1. js根据判断改变html字符串长度,JS获取字符串长度(包含汉字)的简单示例

    这篇文章主要为大家详细介绍了JS获取字符串长度(包含汉字)的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 方法一: /** * * @p ...

  2. linux shell 显示字符串长度,Shell获取字符串长度的多种方法总结

    前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧. 方法如下: [方法一]:利 ...

  3. python获取月份字符串_python 正则表达式获取字符串中所有的日期和时间

    提取日期前的处理 1.处理文本数据的日期格式统一化 text = "2015年8月31日,衢州元立金属制品有限公司仓储公司(以下简称元立仓储公司)成品仓库发生一起物体打击事故,造成直接经济损 ...

  4. java字符串abcde_java aababcabcdabcde,获取字符串中每一个字母出现的次数

    需求:"aababcabcdabcde",获取字符串中每一个字母出现的次数 分析: * A:定义一个字符串(可以改进为键盘录入) * B:定义一个TreeMap集合 * 键:Cha ...

  5. php怎么比较数组长度_PHP获取数组长度的方法 函数参数的比较

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧. php如何获取数组的长度,使用php函数 ...

  6. java获取长度_获取java长度

    Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import ja ...

  7. linux 脚本 数组长度,Shell获取数组长度

    所谓数组长度,就是数组元素的个数. 利用@或*,可以将数组扩展成列表,然后使用#来获取数组元素的个数,格式如下:${#array_name[@]} ${#array_name[*]} 其中 array ...

  8. php的取数组长度,php获取数组长度详解

    php获取数组长度详解 在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧. php如何获取数 ...

  9. php怎么比较数组长度_php获取数组长度的方法(有实例)

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧. php如何获取数组的长度,使用php函数 ...

  10. java正则表达式所有字符串_java正则表达式获取字符串中所有匹配的内容

    在java中,很多时候需要解析一段字符串获取符合条件的所有匹配项.下面例子获取一段字符串中满足   ${字母数字}  条件的字符串的代码 ​ import java.util.List; import ...

最新文章

  1. GitHub上YOLOv5开源代码的训练数据定义
  2. ant design vue input change_vue 表单
  3. python怎么加载图片-如何用python获取图像
  4. python菜鸟教程h-python菜鸟教程,python好玩又简单的代码
  5. 『数据库』数据库笔记
  6. Oracle 中间件云服务器系统 ExaLogic X2 - 2 和 T3-1B概述
  7. html 内嵌xml数据库,是否可以在SQLite数据库中存储XML/HTML文件?
  8. linux下部署Tesseract OCR及调用
  9. c+调用java编写mq_C语言实现mq收发数据的函数
  10. HTTP GET/CONNECT代理区别
  11. armv6, armv7, armv7s和i386
  12. 程序的内存分配----变量在可执行文件中的内存区分配
  13. Cousera 无法播放视频 解决办法 widows 和 linux
  14. python---之scipy.ndimage.measurements.label
  15. 紫罗兰永恒花园rust简谱_みちしるべ简谱-紫罗兰永恒花园ed
  16. 主数据管理(MDM)的一些概念
  17. 做一个很出色的程序员
  18. 大牛博士是如何进行文献检索和阅读的
  19. IBM ServerGuide 9.21
  20. CentOS使用yum命令安装软件失败,报错“Couldn‘t open file /data/ceph/ceph/repodata/repomd.xml“

热门文章

  1. VisionPro工具说明
  2. 机器学习与数据挖掘之ROC与AUC
  3. 阿里云天池大数据竞赛——O2O优惠券使用预测(基于XGBoost)(附python Jupter代码)
  4. Windows命令--wmic
  5. newifi mini php,WBB - Newifi mini刷小米路由mini固件 + 屏蔽广告Adbyby插件小记
  6. 三极管放大电路的基本原理
  7. netty4.1 “File does not contain valid private key” 解决方法
  8. 微信管理工具用什么比较好呀
  9. 按头安利 好看又实用的手绘图标素材看这里
  10. 一场面试过后—移动前端开发