J'ai un projet Visual Studio 2008 C++ où j'aimerais pouvoir prendre une liste de valeurs séparées par des virgules stockées dans un flux std :: strings et les mettre dans un vecteur comme ceci:désérialisation d'un flux csv vers un vecteur de structures
struct Foo
{
std::string A;
std::string B;
std::string C;
}
typedef std::vector<Foo> FooList;
std::stringstream csv; // contains comma separated values
tel que si le flux contenait "Ma Mère, Eats, \ nDonuts, de, Menards", la structure résultante serait:
{ { "My", "Mother", "Eats" },
{ "Donuts", "From", "Menards" } }
Quelle est la meilleure façon d'y arriver ? Je regardais en utilisant boost.split
s'il y a un moyen de spécifier comment la chaîne est copiée sur le vecteur. J'ai le contrôle sur les données de flux, donc si le formatage légèrement différent rend les choses plus faciles, je peux le faire.
Way plus d'informations sur ce sujet ici: http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c –