#include <string>
#include <iostream>
#include <boost/tokenizer.hpp>

void split_and_show(const std::string& s)
{
    typedef boost::tokenizer<boost::char_separator<char> > tok_t;
    boost::char_separator<char> sep(" ", "", boost::keep_empty_tokens);
    tok_t tok(s, sep);
    for(tok_t::iterator i = tok.begin(); i!=tok.end(); ++i)
            std::cout << '"' << *i << "\"\n";
}
int main()
{
    split_and_show("This is a string");
    split_and_show("This  is a string");
}