c++ substr常见用法
时间: 2024-08-16 20:01:19 浏览: 46
在C++中,`substr` 是 `std::string` 类的一个成员函数,用于获取字符串的子串。`substr` 函数有两种重载形式:
1. `substr(size_t pos, size_t len)`:从字符串的 `pos` 位置开始,获取长度为 `len` 的子串。如果 `pos` 大于或等于字符串长度,或者 `len` 超出了从 `pos` 到字符串末尾的距离,那么结果是一个空字符串。
2. `substr(size_t pos)`:从字符串的 `pos` 位置开始,一直到字符串的末尾,获取子串。
下面是 `substr` 函数的一些常见用法示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, C++ World!";
// 从第7个字符开始,获取长度为5的子串
std::string substr1 = str.substr(7, 5);
std::cout << substr1 << std::endl; // 输出 "C++ W"
// 从第13个字符开始直到末尾的子串
std::string substr2 = str.substr(13);
std::cout << substr2 << std::endl; // 输出 "World!"
return 0;
}
```
在上面的代码中,`substr1` 将获取 "C++ W",而 `substr2` 将获取从第13个字符开始直到字符串末尾的 "World!"。
使用 `substr` 时需要注意的是,如果指定的位置或长度超出了字符串的实际范围,将会抛出一个 `std::out_of_range` 异常。
阅读全文