jni java String 转C char*工具类

原创 2015年07月07日 11:35:16
char*   Jstring2CStr(JNIEnv*   env,   jstring   jstr)
{
char*   rtn   =   NULL;
jclass   clsstring   =   (*env)->FindClass(env,"java/lang/String");
jstring   strencode   =   (*env)->NewStringUTF(env,"GB2312");
jmethodID   mid   =   (*env)->GetMethodID(env,clsstring,   "getBytes",   "(Ljava/lang/String;)[B");
jbyteArray   barr=   (jbyteArray)(*env)->CallObjectMethod(env,jstr,mid,strencode); // String .getByte("GB2312");
jsize   alen   =   (*env)->GetArrayLength(env,barr);
jbyte*   ba   =   (*env)->GetByteArrayElements(env,barr,JNI_FALSE);
if(alen   >   0)
{
 rtn   =   (char*)malloc(alen+1);         //"\0"
 memcpy(rtn,ba,alen);
 rtn[alen]=0;
}
(*env)->ReleaseByteArrayElements(env,barr,ba,0);  //
return rtn;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

jni java String 转C char*工具类

char*   Jstring2CStr(JNIEnv*   env,   jstring   jstr) { char*   rtn   =   NULL; jclass   clsstring  ...
  • oMartin1
  • oMartin1
  • 2015年07月07日 11:35
  • 347

【原创】Java JNI 参数

反编译一个 APP 时候, 一个.so通过 loadLibrary加载. 把. so 逆向后, 函数名已经混淆, 但无法根据参数信息获取究竟哪一个才是对外提供的接口. 所以了解一下 JNI, so文件...
  • u012731379
  • u012731379
  • 2017年03月20日 14:49
  • 61

常用类型转换方法工具类

功能:十六进制字符串与字节数组互转、字符转字节、Blob类型转字节数组、阿拉伯数字转中文小写 1 import java.io.BufferedInputStream; 2 ...
  • qq_27376871
  • qq_27376871
  • 2016年06月26日 13:10
  • 659

Java Date,long,String 日期转换

1、java.util.Date类型转换成long类型 java.util.Date dt = new Date(); System.out.println(dt.toString()); ...
  • zhuixunhebe1
  • zhuixunhebe1
  • 2014年03月08日 10:10
  • 261

【Java 重难点知识】String s=new …

首先, String s=new String("abc");这句话创建了2个对象; 一个为new出来的一个实例对象,另一个则为"abc"; s不为对象,s只是一个引用(C++中的指针)。 查询Jav...
  • u011320052
  • u011320052
  • 2016年03月03日 13:09
  • 126

[转]C 编程最佳实践

http://www.ibm.com/developerworks/cn/linux/l-bppc/ 简介 本文是为了满足开发人员的需要而写的。我们总结了一套指南,无论作为开发人员还是顾问,这些指...
  • nick870208
  • nick870208
  • 2013年05月24日 17:04
  • 316

char* char[]及string的区别及相互转换

1.char* char[]及string之间的区别 2.char* char[]及string之间的转换
  • u010102226
  • u010102226
  • 2016年05月15日 15:58
  • 8186

VARIANT 与char *的相互转换

VARIANT Value; //LPTSTR lptstrValue; char *lptstrValue; Value.vt = VT_BSTR; USES_CONVERSION; lp...
  • u013050589
  • u013050589
  • 2014年03月07日 13:23
  • 1551

string、const char*、 char* 、char[]相互转换(全)

string、const char*、 char* 、char[]四者类型经常会需要转化。 一:转化总结形式如下: 使用时,要对源格式和目标格式进行初始化。源格式赋值为具体的内容,目标格式赋值为空...
  • rongrongyaofeiqi
  • rongrongyaofeiqi
  • 2016年09月05日 17:39
  • 4929

解决const char* 转char *方法

const char* p = "123"; string msg (p); char
  • u011676589
  • u011676589
  • 2014年08月09日 10:47
  • 3286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jni java String 转C char*工具类
举报原因:
原因补充:

(最多只允许输入30个字)