以下代码:
#include #include #include int main() { pid_t mypid = getpid(); write(1, &mypid, sizeof(pid_t)); return 0; }
打印乱码而不是实际的pid.为什么?
write(.. 不会打印格式化文本,而是直接将二进制输出打印到文件描述符.
write(..
只需使用printf或fprintf:
printf
fprintf
fprintf(stdout, "%d", (int) mypid);