std::string 按=分割字符串
时间: 2024-10-12 14:03:39 浏览: 51
`std::string` 是 C++ 中用于处理字符串的标准库类,如果你想按等号 (=) 分割一个字符串并将其拆分成多个部分,通常你会使用 `std::getline` 函数结合 `std::istringstream`(istringstream是一个内置的输入流适配器,可以将字符串视为输入流)。下面是一个简单的示例:
```cpp
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> splitString(const std::string& str) {
std::vector<std::string> tokens;
std::istringstream iss(str);
std::string token;
while (iss >> token) {
tokens.push_back(token);
// 如果当前不是最后一个元素,继续查找等号后的部分
if (iss.peek() != '=') {
iss.ignore(); // 忽略等号
}
}
return tokens;
}
// 使用示例
int main() {
std::string input = "key1=value1; key2=value2; key3=value3";
std::vector<std::string> pairs = splitString(input);
for (const auto& pair : pairs) {
std::cout << pair << std::endl;
}
return 0;
}
```
这个函数会返回一个包含键值对的向量,其中每个键值对都是通过等号分割得到的。注意这里假设等号后不会有额外的字符。
阅读全文