If you open a file in text mode, which you are, the runtime performs a newline conversion so the program behaves consistently across platforms when dealing with text files for that platform.
Note that CRLF is the newline sequence only on Windows. On Linux, BSDs, OSX, and other unixes, the sequence is LF, while on MacOS prior to 10.0 the sequence was CR.
Well, i try to open the file in binary mode and the program reads it as 2 bytes.
So, does this thing can affect the platform dependency of the program?