我有一个char**
数组,其中包含一个kill命令,稍后将在代码中使用exec()
执行,每个条目都包含一部分命令。例如:
kill 1234
...将表示为:
char **cmdList = {"kill","1234"};
现在,问题在于:1234最初的类型为pid_t
,由getpid()
返回。我将其转换为int
,现在我试图找出如何转换它以便将其存储在char*
数组中。这就是我到目前为止所拥有的:
char *cmdList[10]; // There will never be more than 10 commands
cmdList[0] = "kill";
int pidHolder = (int)getpid();
char *pidChar = (char*)pidHolder; // How to convert int to char*?
cmdList[1] = pidChar;
printf("The job ID is %s \n", cmdList[1]); // Testing to see if it worked
您可以想象,我在这里遇到了分段错误,但我似乎无法找到将int转换为char*
类型的另一种方法。
答案 0 :(得分:3)
使用comonad:
join
答案 1 :(得分:0)
char buffer[100];
sprintf(buffer, "kill %d", getpid());