split
#include <iostream>
#include <vector>
#include <sstream>
#include <string>
vector<string> split(string input, char delimiter) {
vector<string> answer;
stringstream ss(input);
string temp;
while(getline(ss,temp,delimiter)) {
answer.push_back(temp);
}
return answer;
}
int main(void) {
string test = "this is test";
vector<string> result = split(test, ' ');
for(int i=0;i<result.size();i++) {
cout << result[i] << " ";
}
}
find, substr 이용
int main(void) {
string str = "a,b,c,d";
int previous = 0;
int current = 0;
vector<string> x;
x.clear();
while( (current != str.find(',',previous)) != string::npos) {
string substring = str.substr(previous,current-previous);
x.push_back(substring);
previous = current+1;
}
x.push_back(str.substr(previous,current-previous));
for(int i=0;i<x.size();i++) {
cout << x[i] << endl;
}
return 0;
}