c++读取一段字符串将其以‘.’分隔,并存在vector中
时间: 2024-09-27 16:13:52 浏览: 35
详解C++的String类的字符串分割实现
5星 · 资源好评率100%
在C++中,如果你想要读取一段字符串,然后按照`.`字符将其分割成多个子串并存入`std::vector<std::string>`中,可以使用`std::stringstream`配合`std::getline()`和`std::vector`来实现。下面是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> splitString(const std::string& input, char delimiter) {
std::vector<std::string> tokens;
std::istringstream iss(input);
std::string token;
while (std::getline(iss, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string str;
std::cout << "请输入一个用`.`分隔的字符串: ";
std::getline(std::cin, str);
std::vector<std::string> parts = splitString(str, '.');
for (const auto& part : parts) {
std::cout << "分割后的部分: " << part << "\n";
}
return 0;
}
```
在这个程序中,首先定义了一个名为`splitString`的函数,它接受一个字符串和一个分隔符,然后通过循环调用`std::getline()`读取每个子串,并将其推入`tokens`向量中。`main`函数中,从用户那里获取输入,然后调用这个函数,最后打印出分割后的各个子串。
阅读全文