对于我正在实现的 C 应用程序,我需要能够读取一组配置值并将其写入文件。这些值是 float 。在未来,另一个应用程序(可以用 C++、Python、Perl 等编写)可能会使用相同的数据,因此这些配置值需要以独立于编译器和机器的明确定义的格式存储.
字节顺序转换函数 (ntoh/hton
) 可用于处理 Endianness,但是解决“float”值不同含义的最佳方法是什么?有存储 float 的通用方法吗?舍入和截断不是问题,只要定义好即可。
最佳答案
大概有两个主要的选择:
- 以文本格式存储。在这里,您将使用明确定义的小数点分隔符和科学计数法对特定格式进行标准化,即
6.66e42
。 - 使用 IEEE754 标准以二进制格式存储。使用 4 或 8 字节数据类型。正如您所指出的,您必须确定字节序约定。
文本格式可能更便携,因为有些机器本身并不理解 IEEE754。也就是说,这样的机器在这个时代很少见。
关于c - 在文件中存储 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948357/