Здравствуйте, TimurSPB, Вы писали:
TSP>Есть файл вида:
TSP>cmd1 10,20,15;cmd2 40 30 15;cmd3 2 1 15;
TSP>И массив структур вида:
TSP>TSP>typedef struct
TSP>{
TSP> int CmdID;
TSP> int x;
TSP> int y;
TSP> int z;
TSP>} CMD;
TSP>typedef std::vector< CMD > Commands;
TSP>
TSP>Как средствами spirit (!) заполнить Commands из такого файла?
Я бы не извращался и сделал по-простому (пишу прямо в браузере, не компилировал):
CMD tmp;
// read "cmd1 10,20,15" and store in tmp
rule<> cmd = "cmd" >> uint_p[ assign_a(tmp.CmdID) ]
>> uint_p[ assign_a(tmp.x) ] >> ','
>> uint_p[ assign_a(tmp.y) ] >> ','
>> uint_p[ assign_a(tmp.z) ];
// read "cmd1;cmd2..." and put everything to Commands мусещк
rule<> commands = list_p( cmd[ push_back_a(Commands, tmp) ], ';' );
потом скорми