c++ 字符串截取函数
时间: 2023-10-13 17:06:09 浏览: 322
C++ 中可以使用 substr() 函数来截取字符串。该函数的语法如下:
```
string substr (size_t pos, size_t len) const;
```
其中,pos 表示要截取的起始位置,len 表示要截取的长度。如果省略 len 参数,则默认截取到字符串末尾。
例如,以下代码将从字符串 str 的第 3 个字符开始截取 5 个字符:
```
string str = "Hello, world!";
string substr = str.substr(2, 5); // "llo, "
```
注意,substr() 函数返回的是一个新的字符串,原字符串不会被修改。
相关问题
c++字符串截取函数
在C++中,可以使用`substr()`函数来截取字符串。这个函数用于获取从指定位置开始到指定长度的新字符串。它的基本语法如下:
```cpp
string substr(size_t pos = 0, size_t len = npos);
```
其中:
- `pos`: 起始位置,如果未提供则默认为0,表示从字符串开头开始截取。
- `len`: 截取的字符数,如果不提供,默认截取到字符串结尾(npos是一个特殊的值,代表整个字符串的长度)。若提供len,pos + len大于原始字符串长度,则只会截取到字符串的实际结束。
例如,假设有一个名为`str`的字符串,你可以这样做:
```cpp
string str = "Hello, World!";
string subStr = str.substr(7); // 从第8个字符开始截取,得到"World!"
string subStr2 = str.substr(7, 5); // 截取5个字符,得到"World"
```
c++字符串截取替换
在C++中,你可以使用`std::string`类提供的成员函数来截取和替换字符串。以下是几种常见的操作:
1. **截取**:
- 使用`substr()`函数可以截取子串。例如:
```cpp
std::string str = "Hello, World!";
std::string substr = str.substr(7, 5); // 从索引7开始截取5个字符,结果为"World"
```
- 如果你需要删除部分字符而不是截取,可以先获取需要删除的位置范围,然后创建一个新的字符串。
2. **替换**:
- 使用`replace()`函数可以在原字符串中替换指定位置的内容。例如:
```cpp
std::string str = "Hello, World!";
str.replace(7, 5, "Universe"); // 从索引7开始替换5个字符,结果为"Hello, Universe!"
```
- 还有其他替代方案如`std::string::find()`配合`erase()`或`assign()`,找到目标位置后再对子串进行操作。
阅读全文