Dzielenie ciągu znaków wg podanego separatora

0

Napisać funkcję, która dzieli ciąg znaków wg podanego separatora. Wykonanie dowolne.
Ja zrobiłem to tak:

#include <string>
#include <vector>

std::vector<std::string> divide (std::string str, char c)
{
    std::vector<std::string> vect;

    int unsigned i=0;
    while (i<str.size())
    {
        unsigned int j=i;
        while ((str[j]!=c) && (j<str.size()))
        {
            j++;
        }
        if (i!=j)
            vect.push_back(str.substr(i, j-i));
        i=j+1;
    }
    return vect;
}

Macie jakieś uwagi?
Można to zoptymalizować?

0

A jakby użyć string: find i string: substr?

1 użytkowników online, w tym zalogowanych: 0, gości: 1