stringstreamって賢いな。
vector<string> split(string str,char delimiter){ vector<string> ret; string input; for(int i=0;i<str.length();i++) if(str[i] == delimiter)str[i] = ' '; stringstream ss(str); while(ss >> input)ret.push_back(input); return ret; } int main(){ cout << split("a,b,c,d,e",',').size() << endl; } /* Output: 5 */