#include <iostream> #include <string> #include <vector> using namespace std; /* Method that takes two parameters, a string and a char delimeter, respectivly and returns a vector containing all the parts broken into parts by the delimeter.*/ vector<string> split(const string original, char delimeter); int main() { while (1){ char ch = ' '; string str = ""; cout<<"String: "<<endl; getline(cin, str, '\n'); cout<<"Delimeter(char, s for space): "; cin>>ch; cin.ignore(); ch = (ch == 's') ? ' ' : ch; vector<string> res = split(str, ch); cout<<endl<<endl<<"Split String:"<<endl; for (int i(0); i < res.size(); i++){ cout<<i<<" :"<<res[i]<<endl; } res.clear(); } cin.get(); return 0; } //end main vector<string> split(const string original, char delimeter){ //Store the temporary results in a vector and then transfer to an vector<string> returnVector; string curr = ""; if (original.size() < 2) return returnVector; for (int itr(0); itr < original.size(); itr++){ if (original[itr] != delimeter){ while ( original[itr] != delimeter && itr != original.size() ){ curr += original[itr++]; } returnVector.push_back(curr); curr = ""; } //end check for first match (ie not delim found) } //End loop of string return returnVector; } //end function