Bootstrap

【C/C++:字符串长度计算】

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.关于各类型所占字节数

;