-1
我有一个char**
数组,其中包含一个kill命令,稍后将在代码中使用exec()
执行,每个条目包含一部分命令。例如:转换要存储在char *数组中的整数
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*
类型。
'字符* cmdList = { “杀”, “1234”}'是无效的。除非你真的必须2)理解和3)接受**所有**的影响,否则不要投。一般情况下应避免使用强制类型。 – Olaf