对于
fgets
来说,
'/n'
是一个特别的字符,而
'/0'
并无任何特别之处,如果读到
'/0'
就当作普通字符读入。如果文件中存在
'/0'
字符(或者说0x00字节),调用
fgets
之后就无法判断缓冲区中的
'/0'
究竟是从文件读上来的字符还是由
fgets
自动添加的结束符,所以
fgets
只适合读文本文件而不适合读二进制文件,并且文本文件中的所有字符都应该是可见字符,不能有'/0'
。