我正在尝试将一个进程ID转换为字符串。我用了以下方法:
int pid = getpid(); //this int conversion should be ok as far as I know
char * mypid = (char *)malloc(sizeof(int));
sprintf(mypid, "%d", pid);
我猜我的错误可能是没有在末尾添加NULL。我尝试过这样做,但仍然收到错误消息。有人可以解释一下把PID放入char *(“字符串”)的最佳方法是什么吗?谢谢!!
sizeof(int)
? - melpomenemalloc()
等函数的结果进行强制类型转换 - 这是不必要的,而且还可能隐藏缺少正确原型的错误。 - mlp