文件读取fread遇到的问题
1.读取一个文件,这个文件是utf-8格式,以二进制方式打开.
FILE *file = fopen(filePath, "rb");
2.我是使用fread进行读取一个文件,但今天遇到很怪的现象,希望各位大侠帮忙解答,下面的前提是文件没到结尾:
我的代码这样使用fread时:
代码:size_t readed_num = fread(buff,100,1,stream);
结果:只读取一个字节的值[readed_num==1]
但
代码:size_t readed_num = fread(buff,1,100,stream);
结果:正确
出现上面的情况并不是全都是这样,只是个别地方.不知有没谁遇到这种情况,求解答.
[解决办法]
第三个参数表示要读取多少个数据
size_t readed_num = fread(buff,100,1,stream);
你传入1,得到当然也是1.
[解决办法]
如楼上所言。
size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
功 能:
从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.
如果调用成功则实际读取size*count字节