std::vector<std::string> string_split(const std::string& str) {
std::vector<std::string> result;
std::istringstream iss(str);
for (std::string s; iss >> s; )
result.push_back(s);
return result;
}
// Extract the first token
char * token = strtok(string, " ");
// loop through the string to extract all other tokens
while( token != NULL ) {
printf( " %s
", token ); //printing each token
token = strtok(NULL, " ");
}
return 0;
std::string s = "What is the right way to split a string into a vector of strings";
std::stringstream ss(s);
std::istream_iterator<std::string> begin(ss);
std::istream_iterator<std::string> end;
std::vector<std::string> vstrings(begin, end);
std::copy(vstrings.begin(), vstrings.end(), std::ostream_iterator<std::string>(std::cout, "
"));
Astringstream associates a string object with a stream allowing you to
read from the string as if it were a stream (like cin). To use stringstream,
we need to include sstream header file.
The stringstream class is extremely useful in parsing input.
in the cp when u need to remove spaces from the string and store it into the
vector or other type of data structure at that it will be your
first choice out there.