这是因为c编译器与文件的编解码表不匹配,读取文件是用软件的编解码表将文件编码成二进制文件,再用c编译器翻译存储,一些太特殊的字符可能就会丢失或者出现乱码。而全部都用二进制读写就避免了错误的可能性
一般和文件的编码有关,如果文件中纯英文应该不会有问题
因为读取的是文本,特殊符号会过滤掉