C++中如何获得string的长度?

比如stringa="abc";我用sizeof就总是返回28,为什么?该怎么做才能返回实际字符串的长度?... 比如 string a = "abc"; 我用sizeof就总是返回28 ,为什么?该怎么做才能返回实际字符串的长度? 展开
 我来答
百度网友1001edb
推荐于2018-03-05 · TA获得超过220个赞
知道答主
回答量:45
采纳率:0%
帮助的人:38万
展开全部

(1)a.size()(返回字符数,STL容器都有这个方法)

例如:

#include<iostream>
int main()
{
using namespac std;
string a="abc";
cout<<a.size()<<endl;
}

输出:3

 

(2)a.length()(同size(),这是早期开发string类时加入的,现在还可以用,但其他STL容器没有此方法)

 

解释一下sizeof的结果:

sizeof运算符返回对象或类型实际占有的空间,string对象包含一个指向字符串的指针,指针很小,一般与int相当;string还包含其他数据成员,因此不论它存储的字符串有多大,它的大小一般是恒定的。

du瓶邪
推荐于2017-09-30 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2954万
展开全部
方法是使用sizeof(array) / sizeof(array[0]),
在C语言中习惯上在 使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
2013-08-30 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3610万
展开全部
string str="welcome to chaina!";
int m;//m为长度
m=str.size();//求字符串长度或者下面的
m=str.length(); //同上面size功能一样,都是求字符串长度的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自上清镇勤奋的美羊羊
2013-08-30 · TA获得超过222个赞
知道小有建树答主
回答量:480
采纳率:0%
帮助的人:158万
展开全部
a.length();或者a.size();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-03-03
展开全部

1)a.size()(返回字符数,STL容器都有这个方法)

例如:

#include<iostream>int main(){using namespac std;string a="abc";cout<<a.size()<<endl;}

输出:3

(2)a.length()(同size(),这是早期开发string类时加入的,现在还可以用,但其他STL容器没有此方法)

解释一下sizeof的结果:

sizeof运算符返回对象或类型实际占有的空间,string对象包含一个指向字符串的指针,指针很小,一般与int相当;string还包含其他数据成员,因此不论它存储的字符串有多大,它的大小一般是恒定的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式