簡體   English   中英

C-write()系統調用顯示亂碼而不是pid_t

[英]C - write() system call prints gibberish instead of pid_t

如下代碼:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    pid_t mypid = getpid();
    write(1, &mypid, sizeof(pid_t));
    return 0;
}

打印亂碼而不是實際的pid。 為什么?

write(..將不會打印格式化的文本,而是將二進制輸出直接輸出到文件描述符。

只需使用printffprintf

fprintf(stdout, "%d", (int) mypid);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM