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

类中的构造函数和析构函数

.......

原文地址:https://www.cnblogs.com/adong7639/p/4152182.html