string.substr
时间: 2023-10-02 16:08:48 浏览: 163
string.substr() 是 C++ STL 中的一个函数,用于从字符串中提取子串。
函数格式如下:
```
string substr (size_t pos, size_t len) const;
```
其中,pos 表示子串起始位置,len 表示子串长度。
示例代码:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub_str = str.substr(7, 5); // 从第 7 个位置开始,提取长度为 5 的子串
std::cout << sub_str << std::endl; // 输出 World
return 0;
}
```
注意,pos 的取值范围是 [0, size()-1],即字符串的有效下标范围。如果 pos 超出了该范围,会抛出 std::out_of_range 异常。而如果 len 超出了字符串剩余长度,substr() 会一直提取到字符串末尾。
相关问题
C++ string.substr
C++中的string类提供了substr函数,用于提取字符串的子串。它接受两个参数:起始位置和子串的长度。
以下是substr函数的语法:
```cpp
string substr (size_t pos = 0, size_t len = npos) const;
```
其中,pos是子串的起始位置,len是子串的长度。如果不指定len,默认提取从pos位置到字符串末尾的所有字符。
下面是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub = str.substr(7, 5);
std::cout << "Substring: " << sub << std::endl;
return 0;
}
```
该示例中,substr函数从字符串"Hello, World!"的第8个字符开始提取长度为5的子串,即"World"。然后将该子串输出。
希望能够解答你的问题!如果还有其他问题,请继续提问。
c++ string.substr
引用中的代码是一个C++程序示例,用于演示如何使用`string`类的`substr`函数来提取子串。这个函数有两种常用的用法:
1. `substr(pos, len)`: 提取从位置`pos`开始的长度为`len`的子串。其中,`pos`表示起始位置,`len`表示子串的长度。如果不指定`len`,则默认提取从`pos`到字符串末尾的所有字符。
2. `substr(pos)`: 提取从位置`pos`开始到末尾的子串。
在引用中的示例代码中,我们使用了`substr`函数来提取字符串"Hello, World!"中指定位置的子串。具体来说,我们从位置7开始提取子串,即"World!",并将其存储在变量`sub1`中。我们还演示了另一种用法,从位置7开始提取长度为5的子串,即"World",并将其存储在变量`sub2`中。
综上所述,`string.substr`函数用于提取C++字符串中的子串,可以根据指定的起始位置和长度或者起始位置到末尾来提取子串。<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/weixin_42258743/article/details/107782394)[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_2"}}] [.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_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文