gpt4 book ai didi

c - fwrite a pid_t 不工作

转载 作者:行者123 更新时间:2023-11-30 15:54:20 25 4
gpt4 key购买 nike

我有以下代码:

...
printf("Started %d", pid);
FILE * fh;
fh = fopen("run/source.pid", "wb");
fwrite(&pid, sizeof(int), 1, fh);
fclose(fh);

然而,书面的pid文件写的是行话,而不是整数,我认为pid_t只是一个int,我什至将sizeof(pid_t)作为第二个参数我也遇到类似的问题。

有什么想法吗?感谢您提前提供的帮助。

谢谢

最佳答案

好吧,我不太明白这个问题(上下文太少),但问题可能是您在文本编辑器、终端等中看到该文件。

fwrite() 写入原始数据,例如,假设您有一个 pid 编号,比方说 12,然后您使用 fwrite 写入该编号,如下所示:

fwrite(&pid, sizeof(int), 1, file);

fwrite() 会将一个 32 位整数写入文件 file,即根据您的处理器类型,写入如下字节序列:00 00 00 12

但是

fprintf() 将写入一个字节序列:49 50(独立于 ASCII 字符平台),在所有终端或文本编辑器中可见。

希望这有帮助。

关于c - fwrite a pid_t 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com