gpt4 book ai didi

c - 在 C 文件中写入数字的最有效方法?

转载 作者:太空宇宙 更新时间:2023-11-04 07:21:37 24 4
gpt4 key购买 nike

我需要在文件中跟踪大于 255 的整数。它大于最大的 unsigned char,因此 fputc 的使用似乎不可靠(第一个问题:它总是正确的吗?)。
< br/>我可以使用 fputs,通过转换字符中的数字,从而获得一个字符串;但在程序中我也需要整数形式的数字!

所以,标题中的问题:写这个数字最有效的方法是什么?有什么办法可以避免转换为字符串?保持该文件随后应由另一个进程读取,其中 char 编号应再次变为 int。

最佳答案

只需写出二进制表示:

int fd;
...
int foo = 1234;
write (fd, &foo, sizeof(foo));

(并添加错误处理)。

或者如果你喜欢 FILE*

FILE *file;
...
int foo = 1234;
fwrite (&foo, sizeof(foo), 1, file);

(并添加错误处理)。

请注意,如果您的文件要在不同的系统上加载,可能具有不同的字节顺序,您可能希望确保字节的字节序是恒定的(例如,最高有效字节在前或最低有效字节在前)。如果需要,您可以为此使用 htnolhtons 等。如果您知道加载文件的架构与保存文件的架构相同,则无需这样做。

关于c - 在 C 文件中写入数字的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21207302/

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