fopen的函数原型是:
FILE *fopen( const char* filename, const char* mode );
在windows下,mode一般情况下一定要加上个b,比如”wb”,”rb”, “rb+”,否则后患无穷。虽然听说不加上b是按文本格式读取什么的,但我一时还真难理解这到底有什么意义,linux下应该是没有这一说法的。,如果不加上,有些行为就很难理解,比如今天碰到:fread永远无法读完文件剩余的decodeLength字节,都是中途readedLen读到0而退出循环。
while (leftByte>0){
readedLen = fread(cipherData, 1, decodeLength, fp);
if(readedLen==0)
break;
leftByte -= readedLen;
}