判断文件结束有两种方法:EOF和feof() 查看stdio.h可以看到如下定义: #defineEOF(-1) #define_IOEOF0x0010 #definefeof(_stream)((_stream)->_flag&_IOEOF) 由此可以看出,这两种方式的原理是不同的。 有人说EOF只能用于文本文件,其实不然,还要看定义的变量的类型。下面这段程序对文本文件和二进制文件都可以: intc; while((c=fgetc(fp))!=EOF) { printf("%X\n",c); } 如果读到了FF,由于c定义为int型,所以实际上c=0x0