2023-01-20 343
如何将char*转换为JNI中的JChararray?
我必须输入什么代码//待评论部分?
JNIEXPORT jcharArray JNICALL Java_finger_FingerPrintJNI_GetVer(JNIEnv *env, jobject thisObj){
char* version = getText(); // Returns char* data type
int version_len = strlen(version);
jcharArray j_version_array = env->NewCharArray(version_len + 1);
// TODO Convert char* to jcharArray
return jcharArray;
}
add ==================================================== ======================
正如齿轮所建议的那样,当我放置以下代码时,会增加错误.
jchar* jVersion = (jchar*)version;
env->SetCharArrayRegion(jcharArray, 0, version_len, jVersion);
以下是错误消息.
JNIEnv_::SetCharArrayRegion(jcharArray,jsize,jsize,const jchar *)': cannot convert argument 1 from 'jchar *' to 'jcharArray'
sample.cpp(26): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
感谢您的代码齿轮建议我的最终代码就是这样.
jchar* j_version = (jchar*)calloc(sizeof(jchar), version_len);
for(int i=0; i <= version_len; i++){
j_version[i] = (jchar) version[i];
}
jcharArray j_version_array = env->NewCharArray(version_len + 1);
env->SetCharArrayRegion(j_version_array, 0, version_len , j_version);
您可以使用
jchar* jVersion = (jchar*)version;
env->SetCharArrayRegion(j_version_array, 0, version_len, jVersion);
以上所述是小编给大家介绍的如何将char*转换为JNI的JChararray,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26017.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态