The mode string can also include the letter 'b' either as a last character
or as a character between the characters in any of the two-character
strings described above.  This is strictly for compatibility with C89 and
has no effect; the 'b' is ignored on all POSIX conforming systems,
including Linux.  (Other systems may treat text files and binary files
differently, and adding the 'b' may be a good idea if you do I/O to a

binary file and expect that your program may be ported to non-UNIX environments.)

from: http://man7.org/linux/man-pages/man3/fopen.3.html

简而言之,UNIX/Linux 不分文本文件和二进制文件,而Windows下时区分的。考虑程序平台兼容性,若以二进制形式打开,最好加‘b’


原因可以见这里:

windows和linux fopen参数的区别,http://hi.baidu.com/vv1133/blog/item/b06c760a41de3021b0351d70.html

Logo

更多推荐