如何将jstring转换为char数组



我无法将jstring转换为字符数组

JNIEXPORT jlong JNICALL Java_com_jnitest_JNI_getUid(JNIEnv * env,jobject thiz,jstring user){
const char *userName = (*env)->GetStringUTFChars(env,user,0);
(*env)->ReleaseStringUTFChars(env,user,userName);
FILE * f = fopen("/data/data/com.jnitest/p.txt","w");
if(f != NULL){
    fprintf(f,"%c%c%c",userName[0],userName[1],userName[2]);
fclose(f);
}
return getUser(userName);
}

在文件p.txt中,我有这样的:��

我有一个错误:

在将字符串打印到文件之前,我正在释放它。

此代码:

(*env)->ReleaseStringUTFChars(env,user,userName);

应该在函数末尾。

最新更新