今天在分块读取文件内容时,犯了一个低级错误
本来是想把块的大小定义成4M,然后想当然的写成:
#define SECTIONSIZE 4*1024*1024
结果可想而知。。。
在求某文件块的数量时,需要用到此数据
然后
long leftSize = filesize % SECTIONSIZE;
long sectionCount = filesize / SECTIONSIZE + leftSize>0?1:0;
悲剧发生了。。。
这个leftSzie得到的结果显然不是我们想要的数据,变成了
long leftSize = filesize % 4*1024*1024;
。。。
以后一定要记得定义这样的宏的时候加括号
#define SECTIONSIZE (4*1024*1024)