This is a Windows feature dating back to the early days of MS-DOS. On these systems, the convention is that the line separator is a pair of " \r\n" characters . Of course on Linux / Unix / Solaris / etc. The line separator is a single character " \n"
There are various utilities such as Linux dos2unixand unix2dosthat do nothing but this conversion. Almost every file transfer program has a means to combat it. See mode command kermit.
MSDOS/windows C fopen() ( ): b t, . t ext \r\n \n \n \r\n . A b inary conversion .
FILE *f1 = fopen ("somefile.txt", "rt");
FILE *f2 = fopen ("anotherfile.bin", "rb");