jstring和char*之间的转换方法

jstring和char*之间的转换方法,第1张

jstring和char*之间的转换方法,第2张

//jstring to char *
char * jstring tostring(JNIEnv * env,jstring jstr)
{
char * RTN = NULL;
jclass cls String = env-> find class(" Java/lang/String ");
jstring stren code = env-> newstring utf(" utf-8 ");
jmethodID mid = env-> get method id(cls String," getBytes " ,"(Ljava/lang/String;)【B】;
jbyteArray Barr =(jbyteArray)env-> CallObjectMethod(jstr,mid,stren code);
jsize alen = env-> GetArrayLength(Barr);
jbyte * ba = env-> GetByteArrayElements(巴尔,JNI _ FALSE);
if(alen > 0)
{
RTN =(char *)malloc(alen+1);
memcpy(rtn,ba,alen);
RTN[alen]= 0;
}
env-> ReleaseByteArrayElements(Barr,ba,0);
返回rtn
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » jstring和char*之间的转换方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情