低级错误-宏定义大数据

今天在分块读取文件内容时,犯了一个低级错误尴尬

 

本来是想把块的大小定义成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)

 

你可能感兴趣的:(大数据,宏)