質問: C、固定幅文字 私はバイナリファイルに `char` を読み書きしています。読み取り/書き込みを行うプログラムは、32ビットまたは64ビットのマシンで実行できます。さらに、ファイルは32ビット環境で書かれ、64で読み込まれ、その逆も同様である。 したがって、特定の幅を保証する `char` を格納する方法が必要です(小さいほど良い)。私はこれを行うために受け入れられた/共通の方法があると確信していますが、私はそれを知らないCの初心者であり、またGoogleを介して何かを見つけることができません.. 誰かがそのトリックを知っていますか?
回答: 64/32ビットの問題にかかわらず、 "普通の"現代的なアーキテクチャの `char` は常に8ビットです。これらは、 `int` のバイナリ表現や他のタイプ(アーキテクチャによってはサイズやバイト順が異なる可能性があります)をファイルに直接ダンプするときに発生しますが、単純な `char` 安全です。 ...明らかにあなたがエンコーディングを選択する必要があるテキストを書いているなら、それはまったく別の話です...