我正在将char
读/写到二进制文件中。执行读/写的程序可以在32位或64位机器上运行。此外,该文件可以在32位环境中写入,然后在64位读取,反之亦然。
因此我需要一些存储char
的方法来保证一定的宽度(越小越好)。我确信有一种接受/常用的方法可以做到这一点,但作为一个C新手,我不知道它,也无法通过谷歌找到任何东西..
有人知道这个伎俩吗?
答案 0 :(得分:3)
在任何“普通”现代架构上,char
始终为8位,无论64/32位问题如何。当您直接在文件上转储int
的二进制表示形式或其他类型(根据体系结构可能在大小和字节顺序上有所不同)时会出现这种情况,但普通char
应该是安全的。
...很明显,如果你正在写文字,你应该选择一些编码,但这是一个完全不同的故事......