C++中如何获得string的长度?
比如stringa="abc";我用sizeof就总是返回28,为什么?该怎么做才能返回实际字符串的长度?...
比如 string a = "abc"; 我用sizeof就总是返回28 ,为什么?该怎么做才能返回实际字符串的长度?
展开
展开全部
(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还包含其他数据成员,因此不论它存储的字符串有多大,它的大小一般是恒定的。
展开全部
方法是使用sizeof(array) / sizeof(array[0]),
在C语言中习惯上在 使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 。
在C语言中习惯上在 使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str="welcome to chaina!";
int m;//m为长度
m=str.size();//求字符串长度或者下面的
m=str.length(); //同上面size功能一样,都是求字符串长度的
int m;//m为长度
m=str.size();//求字符串长度或者下面的
m=str.length(); //同上面size功能一样,都是求字符串长度的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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还包含其他数据成员,因此不论它存储的字符串有多大,它的大小一般是恒定的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询