vector<string>をexecv()に渡す
掲題のコード。正直いまいち分かってない。
ソース
#include <unistd.h> #include <vector> #include <string> using namespace std; int main(void) { vector<string> argList = { string("/bin/echo"), string("a"), string("b") }; const char **argv = new const char*[argList.size()+1]; for( size_t i = 0; i < argList.size(); i++ ) { argv[i] = argList.at(i).c_str(); } argv[argList.size()] = NULL; execv( argv[0], (char**)argv ); delete argv; return 0; }