Difference between files written in binary and text mode

前端 未结 7 1824
南旧
南旧 2020-11-22 14:20

What translation occurs when writing to a file that was opened in text mode that does not occur in binary mode? Specifically in MS Visual C.

unsigned char bu         


        
7条回答
  •  暖寄归人
    2020-11-22 14:44

    I believe that most platforms will ignore the "t" option or the "text-mode" option when dealing with streams. On windows, however, this is not the case. If you take a look at the description of the fopen() function at: MSDN, you will see that specifying the "t" option will have the following effect:

    • line feeds ('\n') will be translated to '\r\n" sequences on output
    • carriage return/line feed sequences will be translated to line feeds on input.
    • If the file is opened in append mode, the end of the file will be examined for a ctrl-z character (character 26) and that character removed, if possible. It will also interpret the presence of that character as being the end of file. This is an unfortunate holdover from the days of CPM (something about the sins of the parents being visited upon their children up to the 3rd or 4th generation). Contrary to previously stated opinion, the ctrl-z character will not be appended.

提交回复
热议问题