C,固定宽度字符

时间:2011-11-25 01:17:53

标签: c binary char

我正在将char读/写到二进制文件中。执行读/写的程序可以在32位或64位机器上运行。此外,该文件可以在32位环境中写入,然后在64位读取,反之亦然。

因此我需要一些存储char的方法来保证一定的宽度(越小越好)。我确信有一种接受/常用的方法可以做到这一点,但作为一个C新手,我不知道它,也无法通过谷歌找到任何东西..

有人知道这个伎俩吗?

1 个答案:

答案 0 :(得分:3)

在任何“普通”现代架构上,char始终为8位,无论64/32位问题如何。当您直接在文件上转储int的二进制表示形式或其他类型(根据体系结构可能在大小和字节顺序上有所不同)时会出现这种情况,但普通char应该是安全的。

...很明显,如果你正在写文字,你应该选择一些编码,但这是一个完全不同的故事......