简体   繁体   English

如何将jstring转换为char数组?

[英]How can i convert jstring to char array?

I cannot convert jstring to char array 我无法将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);
}

And in file p.txt i have this: 而在文件p.txt我有这样的:

I have a mistake: 我有一个错误:

I'm releasing string before printing it to file. 我在将字符串打印到文件之前释放它。

This code: 这段代码:

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

should be at end of function. 应该在功能的末尾。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM