Buenos dias,
gracias por este codigo. Si le interesa, tengo una funcion que hace mas o menos lo mismo aqui:
Código:
typedef std::vector<std::string> StringVector;
StringVector Explode(const std::string & str, char separator )
{
StringVector result;
size_t pos1 = 0;
size_t pos2 = 0;
while ( pos2 != str.npos )
{
pos2 = str.find(separator, pos1);
if ( pos2 != str.npos )
{
if ( pos2 > pos1 )
result.push_back( str.substr(pos1, pos2-pos1) );
pos1 = pos2+1;
}
}
result.push_back( str.substr(pos1, str.size()-pos1) );
return result;
}
La ventaja de este codigo es que podemos separar la cadena en mas de dos trozos.
Nota 1: hay algo raro en tu codigo: en caso que no hay nuguno ',' en la cadena, el resultado es raro, porque no tienes en cuenta el resultado del funcion miembro string::find().
Nota 2: si posible, hay que evitar el uso de
(para varias razones, si quieres, te explico un poco), es preferible, cuando es posible, utilizar
por ejemplo.