C语言文件操作fclose在NDK引起的BUG
今天在NDK中写了一个简单的写入文件操作:
FILE *fp = fopen("/sdcard/test.txt","w"); if(fp == NULL) { LOGD("OPEN TEST.TXT IS FAILED") } uchar dest[3] = {'1','2','3'}; fwrite(dest, 3, 1, fp);
代码在linux gcc 平台单独模块测试可以得出正确结果,但是在Android的NDK中调用后,
一直无法写入文件,google了一下,我擦,原来是没有关闭文件
fclose(fp)
fp = NULL;
经验教训啊,那些成对出现的操作,都应该遵守规范
malloc free
new delete
fopen fclose
类中的构造函数和析构函数
.......