c++ 的string分割字符串截取
时间: 2024-07-14 18:00:37 浏览: 170
详解C++ string常用截取字符串方法
在C++中,你可以使用`std::string`类的`find`和`substr`方法来分割和截取字符串。以下是一些基本的操作:
1. 分割字符串:如果你想根据某个字符或子串来分割字符串,可以先找到该分隔符的位置,然后使用`substr`方法提取两个部分。
```cpp
std::string str = "Hello, World!";
size_t pos = str.find(",");
if (pos != std::string::npos) {
std::string substr1 = str.substr(0, pos); // "Hello"
std::string substr2 = str.substr(pos + 1); // " World!"
}
```
这里,`find`返回分隔符的位置,如果没找到则返回`npos`。
2. 截取指定长度的子串:如果你想要截取从某个位置开始到字符串结尾,或者指定长度的子串,可以直接调用`substr`并指定起始位置和长度(可选)。
```cpp
std::string substr3 = str.substr(7); // "World!"
std::string substr4 = str.substr(0, 5); // "Hello"
```
3. 使用`getline`函数:对于复杂的情况,如按行读取,可以使用`std::getline`函数,它会按指定分隔符(默认换行符)分割字符串。
```cpp
std::ifstream file("example.txt");
std::string line;
while (std::getline(file, line)) {
std::cout << line << std::endl;
}
```
阅读全文