関数内で使用する昔ながらの引数ベクトル (argv) を準備したい
int execve(const char *filename, char *const argv[],char *const envp[]);
stl::vector クラスで試しました:
std::string arguments = std::string("arg1");
std::vector<char*> argv;
char argument[128];
strcpy(argument, arguments.c_str());
argv.push_back(argument);
argv.push_back('\0'); // finish argv with zero
最後にベクトルを execve() に渡します
execve("bashscriptXY", &argv[0], NULL)
コードはコンパイルされますが、ArgV は execve() によって「無視」されます。だから、私がしようとしていることは間違っているようです。c++ で効率的な方法で argV を構築するにはどうすればよいですか?