基本上,我想执行一个名为“worker”的程序,其中包含 6 个整数参数...
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 数组中,但我仍然遇到编译器错误。
最佳答案
您需要将它们实际转换为字符串。看看 sprintf 或这个 SO 问题:
关于c++ - 将非 char* 参数传递给 execvp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15306400/