文件中的数字是存的二进制的吗? 还是 165?
建议使用fsanf读写非字符文件。fscanf(p, "%d", m);。
fscanf(p, "%d", m);
fread是按二进制读取的,165加上回车符刚好四个字节等于一个int,就这么四个字符的二进制内容被放到了一个int里,所以肯定会出问题