質問: バイナリモードとテキストモードはどのように使い分けますか どのような違いがありますか この説明で納得できませんでした。
回答: バイナリモードとは読み書きしたいファイルに書いてある内容を1バイトたりとも変更せずに取り扱いたい場合に使い、 テキストモードとはソースコードを異プラットフォームで共通に使いたい場合に使います。 プラットフォーム(実行処理系)にとって適切な「テキストファイル中の改行コード」は異なります。 改行の、\nと\r\nの違いは何ですか? テキストモードを使うと、この「適切な改行コード」が自動的に選ばれます。 テキストモードでは [c](/questions/tagged/c "'c' のタグが付いた質問を表示") ソース中の `\n` 記述と「適切な改行コード」が常に相互変換されます。 バイナリモードではソースファイル中の `\n` を、データファイル中の `\x0A' とします。 つまり値を(勝手に)変換しません。結果的にデータファイルをそのまま読み書きできます。