Carriage Return and Line Feed in C
What's a Carriage and why is it Returning? Carriage Return Line Feed WHAT DOES IT ALL MEAN!?!
The paper on a typewriter rides horizontally on a carriage. The Carriage Return or CR was a non-printable control character that would reset the typewriter to the beginning of the line of text.
However, a Carriage Return moves the carriage back but doesn't advance the paper by one line. The carriage moves on the X axes...
And Line Feed or LF is the non-printable control character that turns the Platen (the main rubber cylinder) by one line.
Hence, Carriage Return and Line Feed. Two actions, and for years, two control characters.
Every operating system seems to encode an EOL (end of line) differently. Operating systems in the late 70s all used CR LF together literally because they were interfacing with typewriters/printers on the daily.
Windows uses CRLF because DOS used CRLF because CP/M used CRLF because history.
Mac OS used CR for years until OS X switched to LF.
Unix used just a single LF over CRLF and has since the beginning, likely because systems like Multics started using just LF around 1965. Saving a single byte EVERY LINE was a huge deal for both storage and transmission.
Fast-forward to 2018 and it's maybe time for Windows to also switch to just using LF as the EOL character for Text Files.
Why? For starters, Microsoft finally updated Notepad to handle text files that use LF.
BUT
Would such a change be possible? Likely not, it would break the world. Here's NewLine on .NET Core.
public static String NewLine { get { Contract.Ensures(Contract.Result() != null); #if !PLATFORM_UNIX return "\r\n"; #else return "\n";
0 Response to "Carriage Return and Line Feed in C"
Post a Comment