C++语言里计算字符串长度的几种方法
1.当所求字符串长度的数据类型为string类型时;
(1)使用string的.length()方法;
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="jshshshsh";
cout<<s.length()<<endl;
return 0;
}
输出结果:9
(2)使用string的.size()方法(类似vector<char>容器,计算char型的个数);
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="jshshshsh";
cout<<s.size()<<endl;
return 0;
}
输出结果:9
2.当字符串为char[]型时;
(1)使用strlen()方法;
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[]="jshshshsh";
cout<<strlen(a)<<endl;
return 0;
}
输出结果:9
(2)使用sizeof操作符(其中末尾结束符“\0”占一个字节);
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[]="jshshshsh";
cout<<sizeof(a)/sizeof(a[0])<<endl;
return 0;
}
输出结果:10
注意:
1.strlen()函数用于求字符串的有效长度,不包含末尾结束符"\0"。
2.关于sizeof:
(1)sizeof不是函数,它只是一个操作符(operator);
(2)sizeof的作用是返回一个对象或者类型所占的内存字节数(具体实现见附加);
3.在Windows 32/64位机中:
(1)char 1字节;
(2)short 2字节;
(3)int 4字节;
(4)long 4字节;
(5)在32位机中指针占4字节,而在64位机中指针占8字节;
附加:
1.关于sizeof
2.关于各类型所占字节数