substr函数c++
时间: 2023-11-06 14:53:18 浏览: 45
substr()函数是C++中用于截取字符串的函数。它的语法是string.substr(pos, len),其中pos表示起始位置,len表示截取的长度。该函数返回一个新的字符串,包含原字符串中从起始位置开始的指定长度的字符。
以下是一个使用substr()函数截取字符串的示例程序:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Hello, world!";
string sub = s.substr(7, 5);
cout << sub << endl; // 输出 "world"
return 0;
}
```
相关问题
c++substr函数
C++中的substr函数用于从一个字符串中提取子串。它接受两个参数:起始位置和子串的长度。
下面是substr函数的用法示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 提取从索引位置2开始的5个字符作为子串
std::string substr1 = str.substr(2, 5);
std::cout << "substr1: " << substr1 << std::endl;
// 提取从索引位置7开始到字符串末尾的字符作为子串
std::string substr2 = str.substr(7);
std::cout << "substr2: " << substr2 << std::endl;
return 0;
}
```
输出:
```
substr1: llo,
substr2: World!
```
在上述示例中,我们使用substr函数从字符串"Hello, World!"中提取了两个子串。第一个子串从索引位置2开始,长度为5;第二个子串从索引位置7开始,直到字符串末尾。
希望这可以解答你的问题!如果还有其他问题,请随时提问。
C++substr函数传参
在C++中,substr函数的参数传递方式可以有两种方式:值传递和引用传递。
1. 值传递:在值传递中,substr函数会将参数的副本传递给函数。这意味着在函数内部对参数的修改不会影响到原始的参数。当使用值传递时,函数的定义如下:
```cpp
string substr(string str, int start);
```
在这个例子中,str是要提取子字符串的字符串,start是起始位置。
使用值传递的示例代码如下:
```cpp
string originalStr = "Hello, World!";
string subStr = substr(originalStr, 1);
```
这样,函数会返回从索引1开始到字符串末尾的子字符串。
2. 引用传递:在引用传递中,substr函数会接受参数的引用作为参数。这样,在函数内部对参数的修改将直接影响到原始的参数。当使用引用传递时,函数的定义如下:
```cpp
string substr(string& str, int start);
```
使用引用传递的示例代码如下:
```cpp
string originalStr = "Hello, World!";
string subStr = substr(originalStr, 1);
```
在这个例子中,函数会返回从索引1开始到字符串末尾的子字符串,并且原始的字符串originalStr也会被修改为"ello, World!"。
无论使用哪种传递方式,substr函数都可以用来提取字符串中的子字符串。具体使用哪种方式取决于你的需求和代码结构。