c++ string substr()
时间: 2023-10-28 08:25:49 浏览: 84
在C++中,字符串类`std::string`提供了`substr`函数用于提取字符串的子串。`substr`函数有两种常用的用法:
1. `substr(pos, len)`: 提取从位置`pos`开始的长度为`len`的子串。其中,`pos`指定提取子串的起始位置,位置从0开始,`len`指定提取子串的长度。如果不指定`len`,则默认提取从`pos`到字符串末尾的所有字符。
2. `substr(pos)`: 提取从位置`pos`开始到末尾的子串。
以上是使用`substr`函数的示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 提取从位置 7 开始的子串
std::string sub1 = str.substr(7);
std::cout << "sub1: " << sub1 << std::endl; // 输出 "World!"
// 提取从位置 7 开始的长度为 5 的子串
std::string sub2 = str.substr(7, 5);
std::cout << "sub2: " << sub2 << std::endl; // 输出 "World"
return 0;
}
```
在这个示例中,我们通过`substr`函数从字符串`str`中提取了两个子串,并将结果打印输出。需要注意的是,`substr`函数返回的是一个新的`std::string`对象,而不是原始字符串的引用或指针。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++ String 中的substr用法](https://blog.csdn.net/Dejan520/article/details/123571003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [c++中string的substr函数](https://blog.csdn.net/m0_74153798/article/details/131847142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文