#include <fstream>
#include <iostream>
#include <string>
#include <vector>

std::vector<std::string> tokenize(const std::string& line, const std::string& delimiters)
{
    std::vector<std::string> tokens;
    std::size_t token_start = 0;
   
    auto const npos = std::string::npos;
    while ((token_start = line.find_first_not_of(delimiters, token_start)) != npos)
    {
        auto token_end = line.find_first_of(delimiters, token_start);
        auto len = token_end == npos ? line.size() - token_start : token_end - token_start;

        tokens.push_back(line.substr(token_start, len));

        token_start = token_end;
    }

    return tokens;
}

int main()
{
    auto tokens = tokenize("one.two three,4.5 six seven,eight.9.ten", " ,.");

    for (auto& token : tokens)
        std::cout << token << '\n';
}