#include <vector>
#include <string>
#include <iterator>
#include <iostream>
std::vector<char *> fabricate(std::vector<std::string> & v)
{
std::vector<char *> res(v.size() + 1, NULL);
for (std::size_t i = 0; i != v.size(); ++i) { res[i] = &v[i][0]); }
return res;
}
std::vector<std::string> args_vector((std::istream_iterator<std::string>(std::cin)), std::istream_iterator<std::string>());
std::vector<char *> argv_vector = fabricate(args_vector);
int main(int argc, char * argv[])
{
argc = args_vector.size();
argv = argv_vector.data();
// ...
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpzdGQ6OnZlY3RvcjxjaGFyICo+IGZhYnJpY2F0ZShzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gJiB2KQp7CiAgICBzdGQ6OnZlY3RvcjxjaGFyICo+IHJlcyh2LnNpemUoKSArIDEsIE5VTEwpOwogICAgZm9yIChzdGQ6OnNpemVfdCBpID0gMDsgaSAhPSB2LnNpemUoKTsgKytpKSB7IHJlc1tpXSA9ICZ2W2ldWzBdKTsgfQogICAgcmV0dXJuIHJlczsKfQoKc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGFyZ3NfdmVjdG9yKChzdGQ6OmlzdHJlYW1faXRlcmF0b3I8c3RkOjpzdHJpbmc+KHN0ZDo6Y2luKSksIHN0ZDo6aXN0cmVhbV9pdGVyYXRvcjxzdGQ6OnN0cmluZz4oKSk7CgpzdGQ6OnZlY3RvcjxjaGFyICo+IGFyZ3ZfdmVjdG9yID0gZmFicmljYXRlKGFyZ3NfdmVjdG9yKTsKCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqIGFyZ3ZbXSkKewogICAgYXJnYyA9IGFyZ3NfdmVjdG9yLnNpemUoKTsKICAgIGFyZ3YgPSBhcmd2X3ZlY3Rvci5kYXRhKCk7CgogICAgLy8gLi4uCn0=
prog.cpp: In function ‘std::vector<char*, std::allocator<char*> > fabricate(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)’:
prog.cpp:9: error: expected `;' before ‘)’ token