C/C++字符串长度的计算

本文详细解析了C语言中字符串处理函数strlen()与sizeof()的区别及应用,并介绍了C++中string类的length()和size()方法。通过实例展示了不同情况下这些函数如何统计字符串长度和计算内存占用。

char ch1[ 10 ] = {'s','h','\0','h'};

char ch2[] = {"sh\0h"};

char* ch3 = "shh"

(1)strlen()

统计字符串存在多少个有效字符,遇到'\0'结束,不包含‘\0’

strlen( ch1 )   会得到 2

strlen( ch2)   会得到2

strlen( ch3)   会得到3

(2)sizeof

统计字符串所占空间大小,包含‘\0’,只能对字符数组ch1,ch2起作用,如果要使用字符串,必须为字面值

strlen(ch1) 得到10

strlen(ch2) 得到5

strlen(“ssh”) 得到3

(3)C++中特殊情况

c++含有string集合  string str =“sh\0h”;拥有集合自带的length(),和size()函数,都是遇到‘\0’结束,不包括'\0'

str.legth() 和 str.size()都得到2

如果想用strlen,必须将str转化为C语言格式:strlen(str.c_str())得到2

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值