按格式拆分string
void split(const std::string &s, std::vector<std::string> &sv,
const char *delim = " ") {
sv.clear();
char *buffer = new char[s.size() + 1];
buffer[s.size()] = '\0';
std::copy(s.begin(), s.end(), buffer);
char *p = std::strtok(buffer, delim);
do {
sv.emplace_back(p);
} while ((p = std::strtok(NULL, delim)));
delete[] buffer;
return;
}