0

我无法将 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 我有这个:��

4

1 回答 1

1

我有一个错误:

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

这段代码:

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

应该在函数的末尾。

于 2015-04-07T09:57:21.137 回答