将非char *参数传递给execvp

时间:2013-03-09 02:12:15

标签: c++ unix execvp

基本上,我想执行一个名为“worker”的程序,其中有6个参数是int ...

char* args[7] = {(char*)"worker",workerID,i+1,msgID,shmID,semaphoreID,NULL};
if(execvp("worker",args)<0){
    cerr << "execvp failed" << endl;
    exit(1);
}

如何正确地将这些转换为char *类型? 我尝试使用(char*)进行前置并使用stringstream将它们存储在char数组中,但我仍然遇到编译器错误。

1 个答案:

答案 0 :(得分:0)

您需要将它们实际转换为字符串。看看sprintf或者在这个问题上:

Where is the itoa function in Linux?