C++求字符串长度————sizeof()、size()、strlen()以及length()详解
时间: 2023-10-09 08:14:22 浏览: 493
常见的获取字符串长度的方法
在C++中,获取字符串的长度可以使用以下四种方法:
1. `sizeof()`函数
在C++中,`sizeof()`函数用于获取数据类型或变量所占用的内存大小,单位为字节。因此,可以使用`sizeof()`函数来获取字符串的长度,即字符串所占用的内存大小,包括字符串末尾的空字符('\0')。例如:
```c++
char str[] = "Hello";
int len = sizeof(str) / sizeof(char); // len = 6
```
需要注意的是,`sizeof()`函数返回的是编译时确定的值,因此对于动态分配的字符串,这种方法并不适用。
2. `size()`函数
在C++中,`size()`函数用于获取STL容器(如`string`)的大小,即容器中元素的个数。对于字符串,可以使用`size()`函数来获取其长度。例如:
```c++
string str = "Hello";
int len = str.size(); // len = 5
```
需要注意的是,`size()`函数返回的是容器中元素的个数,对于字符串来说,即字符串的长度。但是,`size()`函数并不包括字符串末尾的空字符('\0')。
3. `strlen()`函数
在C++中,`strlen()`函数用于获取C风格字符串的长度,即以空字符('\0')结尾的字符数组的长度。对于字符串,可以使用`strlen()`函数来获取其长度。例如:
```c++
char str[] = "Hello";
int len = strlen(str); // len = 5
```
需要注意的是,`strlen()`函数并不包括字符串末尾的空字符('\0')。
4. `length()`函数
在C++中,`length()`函数是`string`类的成员函数,用于获取字符串的长度。与`size()`函数功能类似,`length()`函数返回的是字符串的长度,不包括字符串末尾的空字符('\0')。例如:
```c++
string str = "Hello";
int len = str.length(); // len = 5
```
需要注意的是,`length()`函数只能用于`string`类,不能用于C风格字符串。
阅读全文