1
В принципе, я хочу EXEC программу под названием «рабочий» с 6 аргументов, которые Интс ...прохождение не символьные * аргументы execvp
char* args[7] = {(char*)"worker",workerID,i+1,msgID,shmID,semaphoreID,NULL};
if(execvp("worker",args)<0){
cerr << "execvp failed" << endl;
exit(1);
}
Как правильно бросить их, чтобы ввести символ *? Я попытался добавить с (char*)
и использовать stringstream для хранения их в массивах char, но я все еще получаю ошибки компилятора.
Хорошо, я сконвертировало Интс в строки, но я все еще получаю эту ошибку 5 раз ... 'master.cpp: 205: 81: error: нет жизнеспособного преобразования из 'string' (aka 'basic_string') в 'char *' ' один раз для каждого аргумента int –
Используйте' str.c_str() '. –
, когда я добавляю '.c_str()' в args, теперь я получаю эту ошибку ... 'master.cpp: 205: 50: error: невозможно инициализировать элемент массива типа 'char *' с rvalue of type 'const char *' ' –