#include <iostream>
#include <string>
#include <vector>
void f(int argc, char* argv[])
{
for (int i = 0; i < argc; i++)
std::cout << argv[i] << std::endl;
}
int main()
{
std::vector<std::string> args;
std::vector<char*> argv;
args.push_back("one");
args.push_back("two");
args.push_back("three");
for (auto i = args.begin(); i != args.end(); i++)
{
argv.push_back(const_cast<char*>(i->c_str()));
}
argv.push_back(0);
int argc = args.size();
f(argc, &argv[0]);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgoKdm9pZCBmKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCnsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQogICAgICAgIHN0ZDo6Y291dCA8PCBhcmd2W2ldIDw8IHN0ZDo6ZW5kbDsKfQoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gYXJnczsKICAgIHN0ZDo6dmVjdG9yPGNoYXIqPiBhcmd2OwoKICAgIGFyZ3MucHVzaF9iYWNrKCJvbmUiKTsKICAgIGFyZ3MucHVzaF9iYWNrKCJ0d28iKTsKICAgIGFyZ3MucHVzaF9iYWNrKCJ0aHJlZSIpOwoKICAgIGZvciAoYXV0byBpID0gYXJncy5iZWdpbigpOyBpICE9IGFyZ3MuZW5kKCk7IGkrKykKICAgIHsKICAgICAgICBhcmd2LnB1c2hfYmFjayhjb25zdF9jYXN0PGNoYXIqPihpLT5jX3N0cigpKSk7CiAgICB9CiAgICBhcmd2LnB1c2hfYmFjaygwKTsKCiAgICBpbnQgYXJnYyA9IGFyZ3Muc2l6ZSgpOwogICAgZihhcmdjLCAmYXJndlswXSk7CgogICAgcmV0dXJuIDA7Cn0KCg==