#include <iostream>
#include <string>
#include <vector>
#include <sstream>
std::vector<std::string> parse(const char* cmd, int length)
{
std::vector<std::string> arguments;
std::istringstream iss(std::string(cmd, length));
std::string s;
while (iss >> s) {
arguments.push_back(s);
}
return arguments;
}
int main()
{
const char cmd[] = "param1 param2 param3";
std::vector<std::string> args = parse(cmd, sizeof(cmd)-1);
for(auto &s : args)
std::cout << s << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3N0cmVhbT4KCnN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBwYXJzZShjb25zdCBjaGFyKiBjbWQsIGludCBsZW5ndGgpCnsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBhcmd1bWVudHM7CiAgICBzdGQ6OmlzdHJpbmdzdHJlYW0gaXNzKHN0ZDo6c3RyaW5nKGNtZCwgbGVuZ3RoKSk7CiAgICBzdGQ6OnN0cmluZyBzOwogICAgd2hpbGUgKGlzcyA+PiBzKSB7CiAgICAgICAgYXJndW1lbnRzLnB1c2hfYmFjayhzKTsKICAgIH0KICAgIHJldHVybiBhcmd1bWVudHM7Cn0KCmludCBtYWluKCkKewoJY29uc3QgY2hhciBjbWRbXSA9ICJwYXJhbTEgcGFyYW0yIHBhcmFtMyI7CglzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gYXJncyA9IHBhcnNlKGNtZCwgc2l6ZW9mKGNtZCktMSk7Cglmb3IoYXV0byAmcyA6IGFyZ3MpCgkJc3RkOjpjb3V0IDw8IHMgPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=