如何使用getpid()函数将PID写入文件?
我尝试将它转换为char并编写int数组,但都不起作用。
答案 0 :(得分:2)
在C中,从int转换为char是不够的。转换会改变编译器处理指针的方式,它如何对指针进行处理以及如何计算指针算法。它不会改变内容。
如果要打印int,必须将其转换为字符串。
你可以使用:
fprintf(fd, "%d", getpid());
答案 1 :(得分:0)
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));