本文主要是介绍fread读取文件读不全的问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题大概是这样的,用fread读取文件的时候,读取到的长度很小,并没有到预期值。
原因是打开文件的时候用"r"模式,应该成"rb"模式。
代码示例如下
#include <stdio.h>int main()
{unsigned char buff[201];int i;FILE *fp;char filename[10];int len;for(i=144;i<146;i++){sprintf(filename, "%d",i);
//这里是重点,因为我原来是"r"模式,导致碰到字符0x1a的时候,就认为到了EOF了,所以读不全,改为rb就可以了fp=fopen(filename, "rb");len=fread(buff, sizeof(unsigned char), 200, fp);printf("fread [%d] len [%d]\n", i, len);fclose(fp);fp=NULL;}return 0;
}
这篇关于fread读取文件读不全的问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!