转换整数以存储在char *数组中

时间:2016-01-21 20:27:48

标签: c arrays char type-conversion

我有一个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*类型的另一种方法。

2 个答案:

答案 0 :(得分:3)

使用comonad

join

答案 1 :(得分:0)

char buffer[100];

sprintf(buffer, "kill %d", getpid());