La libreria standard del C lascia un po' a desiderare, quella del C++ è abbastanza completa, anche se non come quella di Java.
Purtroppo la sintassi è complicata, se non hai letto un buon libro sul C++ difficilmente potrai capire del tutto questo codice.
Esempio C++
codice:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
typedef vector<string> svec;
svec split(string& subject, string& separator)
{
svec temp;
string::size_type start=0, end = 0;
while (start != string.npos)
{
end = subject.find(separator, start);
temp.push_back(subject.substr(start, end != string.npos ? end - start: string.npos));
start = end != string.npos ? end + separator.length() : string.npos ;
}
return temp;
}
int main()
{
string str("primaparte, -seconda parte, -terza parte, -quarta ed ultima parte");
string sep = ", -";
svec tokens = split(str, sep);
cout << tokens[0] << endl;
cout << tokens[1] << endl;
cout << tokens[2] << endl;
cout << tokens[3] << endl;
return 0;
}