c++截取字符串substr
时间: 2023-07-14 15:01:50 浏览: 148
在C++中,可以使用`substr()`函数截取字符串中的子串。`substr()`函数接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的子串长度。
下面是一个使用`substr()`函数截取子串的示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, this is a test string.";
// 截取子串
string sub_str = str.substr(16, 4);
cout << "Sub string: " << sub_str << endl;
return 0;
}
```
输出结果为:
```
Sub string: test
```
在上面的示例中,我们使用`substr()`函数从字符串`"Hello, this is a test string."`中截取子串`"test"`。`substr()`函数的第一个参数为截取的起始位置,这里是`16`,即子串在字符串中的起始位置;第二个参数为截取的子串长度,这里是`4`,即子串的长度。截取完成后,将子串赋值给变量`sub_str`,并输出结果。
需要注意的是,`substr()`函数并不会改变原始字符串,而是返回截取的子串。如果需要修改原始字符串,可以使用`erase()`和`insert()`等函数。
相关问题
C++截取字符串substr()
在C++中,可以使用`substr()`函数截取字符串中的子串。`substr()`函数接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的子串长度。
下面是一个使用`substr()`函数截取子串的示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, this is a test string.";
// 截取子串
string sub_str = str.substr(16, 4);
cout << "Sub string: " << sub_str << endl;
return 0;
}
```
输出结果为:
```
Sub string: test
```
在上面的示例中,我们使用`substr()`函数从字符串`"Hello, this is a test string."`中截取子串`"test"`。`substr()`函数的第一个参数为截取的起始位置,这里是`16`,即子串在字符串中的起始位置;第二个参数为截取的子串长度,这里是`4`,即子串的长度。截取完成后,将子串赋值给变量`sub_str`,并输出结果。
需要注意的是,`substr()`函数并不会改变原始字符串,而是返回截取的子串。如果需要修改原始字符串,可以使用`erase()`和`insert()`等函数。
c++截取字符串函数
在C++中,可以使用多种方法来截取字符串。以下是一些常用的方法:
1. substr()函数:substr()函数可以从一个字符串中提取子字符串。它接受两个参数,第一个参数是起始位置,第二个参数是要提取的子字符串的长度。示例代码如下:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub = str.substr(7, 5); // 从位置7开始提取长度为5的子字符串
std::cout << sub << std::endl; // 输出 "World"
return 0;
}
```
2. getline()函数:getline()函数可以从一个字符串中按照指定的分隔符提取子字符串。示例代码如下:
```cpp
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string str = "Hello, World!";
std::istringstream iss(str);
std::string sub;
std::getline(iss, sub, ','); // 按照逗号分隔提取子字符串
std::cout << sub << std::endl; // 输出 "Hello"
return 0;
}
```
3. find()和substr()函数的组合:可以使用find()函数找到指定子字符串的位置,然后再使用substr()函数截取子字符串。示例代码如下:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
size_t pos = str.find(","); // 找到逗号的位置
std::string sub = str.substr(0, pos); // 从开头截取到逗号位置的子字符串
std::cout << sub << std::endl; // 输出 "Hello"
return 0;
}
```
这些是C++中常用的截取字符串的方法。你可以根据具体的需求选择适合的方法来截取字符串。
阅读全文