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ć?