#include <iostream>
#include <sstream>
#include <locale>
#include <vector>
#include <iterator>
struct dot_ws : std::ctype<char> {
    static const mask* make_table() {
        static std::vector<mask> v(classic_table(), classic_table() + table_size);
        v['.'] |= space;  // dot will be classified as whitespace
        return &v[0];
    }
    dot_ws(std::size_t refs = 0) : ctype(make_table(), false, refs) {}
};
int main()
{
    std::string YourStringName = "8573656.5465467.5435325.3253255";

    std::istringstream ins(YourStringName);
    ins.imbue(std::locale(ins.getloc(), new dot_ws()));
    std::istream_iterator<long> beg(ins), end;
    std::vector<long> vectorLong(beg, end);

    for(size_t n =0; n<vectorLong.size(); ++n)
        std::cout << vectorLong[n] << ' ';
    std::cout << '\n';
}
