scrap book

プログラミングとか

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;
}