c++中string类型数据长度获取
时间: 2023-09-28 07:06:16 浏览: 72
在C++中,可以使用`std::string`类的`length()`函数或`size()`函数来获取字符串的长度。这两个函数返回的结果是字符串中字符的数量,不包括字符串末尾的空字符('\0')。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::cout << "Length of the string: " << str.length() << std::endl;
std::cout << "Size of the string: " << str.size() << std::endl;
return 0;
}
```
输出结果将是:
```
Length of the string: 13
Size of the string: 13
```
注意,`std::string`的长度函数返回的是无符号整数类型`std::string::size_type`,所以在输出时要使用适当的格式说明符。
相关问题
C++ char * 数据长度
在 C++ 中,`char*` 是一个指向字符的指针,通常用于表示以 null 结尾的字符串。要获取 `char*` 指向的字符串的长度,可以使用 `strlen` 函数。以下是一个示例代码:
```cpp
#include <iostream>
#include <cstring>
int main() {
char* str = "Hello, world!";
// 获取字符串长度
int length = std::strlen(str);
std::cout << "Length of the string: " << length << std::endl;
return 0;
}
```
在上面的代码中,我们使用 `std::strlen` 函数获取 `str` 指向的字符串的长度,并将结果存储在 `length` 变量中。
输出结果为:`Length of the string: 13`,表示字符串 "Hello, world!" 的长度为 13。
请注意,`char*` 指针必须指向一个以 null 结尾的字符串,否则 `strlen` 函数可能会导致未定义行为。确保在使用 `strlen` 函数之前,你的 `char*` 指针指向了一个有效的以 null 结尾的字符串。
C++中string的size与length的区别
在C++中,`std::string`是一个表示字符串的数据类型,它是标准库中的类。`std::string`类具有两个成员函数:`size()`和`length()`,它们通常用于获取字符串的长度。实际上,`size()`和`length()`在`std::string`类中是完全相同的,没有任何区别。
这两个函数都返回一个代表字符串长度的整数值,即字符串中字符的数量。例如:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::cout << "Size: " << str.size() << std::endl;
std::cout << "Length: " << str.length() << std::endl;
return 0;
}
```
输出结果将是:
```
Size: 13
Length: 13
```
因此,无论你使用`size()`还是`length()`,都可以得到相同的结果。你可以根据个人喜好来选择使用哪个函数。