【问题标题】:How to write PID to file on UNIX如何在 UNIX 上将 PID 写入文件
【发布时间】:2014-06-16 17:48:46
【问题描述】:

如何使用 getpid() 函数将 PID 写入文件?

我尝试将其转换为 char 并写入 int 数组,但均无效。

【问题讨论】:

标签: c unix fork posix pid


【解决方案1】:

在 C 中,从 int 转换为 char 是不够的。转换改变了编译器处理指针的方式,它如何尊重它以及如何计算指针算术。它不会改变内容。

如果你想打印一个int,你必须把它转换成一个字符串。

你可以使用:

fprintf(fd, "%d", getpid());

【讨论】:

    【解决方案2】:
    int fd;
    FILE *somefile;
    
    //text
    fprintf(somefile, "%d", getpid()); 
    
    //binary
    pid_t pid = getpid();
    
    fwrite(&pid, sizeof(pid), 1, somefile);  
    
    write(fd, &pid, sizeof(pid)); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多