我怎样才能将jstring转换为char数组?

时间:2014-09-13 15:50:27

标签: java jnienv

我无法将jstring转换为char数组

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中,我有:��

1 个答案:

答案 0 :(得分:0)

我有一个错误:

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

此代码:

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

应该在功能结束时。