Android fdopen不工作
当问题变得公开并开始工作时,代码:Android fdopen不工作,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,当问题变得公开并开始工作时,代码: LOGI("opened %s", strerror( errno )); int handle= open("/mnt/sdcard/license.rar",O_RDONLY); LOGI("opened %s", strerror( errno )); FILE* hNewFile= fdopen(handle,"r"); LOGI("opened handle %d hNewFile %d %s",handle,
LOGI("opened %s", strerror( errno ));
int handle= open("/mnt/sdcard/license.rar",O_RDONLY);
LOGI("opened %s", strerror( errno ));
FILE* hNewFile= fdopen(handle,"r");
LOGI("opened handle %d hNewFile %d %s",handle, hNewFile, strerror( errno ));
对应的日志文件:
03-09 14:12:40.151: opened No such file or directory
03-09 14:12:40.160: opened No such file or directory
03-09 14:12:40.160: opened handle 3 hNewFile 0 Invalid argument
我有正确的舱单许可
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
有什么想法吗?你确定/mnt/sdcard/实际上是正确的路径吗?使用Java端API getExternalStorageDirectory()(为了确保这一点,你可以将该目录传递给你的JNI代码。还有,为什么这部分都是本机的?它是本机的,因为我实际上正在将一些代码移植到android…这就是失败的地方。我知道这是正确的路径,因为我使用ndk使用简单的代码成功地在这个目录中创建了一个文件:file*file=fopen(“/mnt/sdcard/file.blah”,“w+”);if(file!=NULL){fputs(“HELLO WORLD!\n”,file);fflush(file);fclose(file);}