C++标准库并不像Java一样提供了string的split方法,关于split的实现方式有很多,这里介绍一种使用标准库和模板来实现的方法,非常简单,是stackoverflow上的高票回答,具体实现如下:
template<typename Out>
void split(const std::string &s, char delim, Out result) {
std::stringstream ss;
ss.str(s);
std::string item;
while (std::getline(ss, item, delim)) {
*(result++) = item;
}
}
std::vector<std::string> split(const std::string &s, char delim) {
std::vector<std::string> elems;
split(s, delim, std::back_inserter(elems));
return elems;
}