所以我们有一个简单拆分 https://stackoverflow.com/questions/236129/how-to-split-a-string-in-c/236180#236180:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
vector<string> split(const string& s, const string& delim, const bool keep_empty = true) {
vector<string> result;
if (delim.empty()) {
result.push_back(s);
return result;
}
string::const_iterator substart = s.begin(), subend;
while (true) {
subend = search(substart, s.end(), delim.begin(), delim.end());
string temp(substart, subend);
if (keep_empty || !temp.empty()) {
result.push_back(temp);
}
if (subend == s.end()) {
break;
}
substart = subend + delim.size();
}
return result;
}
or 升压分裂 http://www.boost.org/doc/libs/1_41_0/doc/html/string_algo/usage.html#id1701774。我们有简单的主要内容,例如:
int main() {
const vector<string> words = split("close no \"\n matter\" how \n far", " ");
copy(words.begin(), words.end(), ostream_iterator<string>(cout, "\n"));
}
如何让它输出类似的东西
close
no
"\n matter"
how
end symbol found.
我们想介绍 splitstructures
应保持不分割,并且字符应结束解析过程。怎么做这样的事情?