C : CR LFについて

改行コードと言えば、
CR(CarriageReturn = 0x0D = ¥r)、LF(LineFeed = 0x0A = ¥n)
がありますが、OSによって扱いが異なるなど、混乱することがあったので、調べました。

* Linux, mac : LF
* Win             : CR + LF

ですが、まず、SourceCode上では(つまりメモリ上では)、改行は¥nの1文字のみです。
そして、File Openの際、"text"と"binary"のいずれかのmodeを選択できるのですが、text modeでopenすると、ProgramとStream(Fileでも画面でも)の界面で、改良コードが自動的に変換されるのです。

具体的には、Winにて、Fileをtext modeでopenした時、
File -> Program : "CR" + "LF to LF"
Program -> File : "LF" to "CR + LF"
Linux, macの場合はそのまま読み込まれます。

一方、binaryで読み込んだ場合は、変換されず、そのまま読み込まれます。


いいなと思ったら応援しよう!

Nobu
もしよろしければ、サポートをお願いします! 頂いたサポートは、Creatorとしての活動費に充てさせて頂きます。