当前位置:网站首页>jni中jstring与char*互转
jni中jstring与char*互转
2022-08-02 03:34:00 【刚入视频监控行业的菜鸡】
一、jstring转char*或string
假如jni中定义了这么一个接口,用于java将参数传给顶层c,如下
JNIEXPORT jint JNICALL Java_com_init_data(JNIEnv *env, jobject, jstring s)
{
string sId = env->GetStringUTFChars(s, 0);
//char *pId = env->GetStringUTFChars(s, 0);
}
二、string或char*转jstring
有时候需要底层c将字符串返回给java,如下面的接口定义:
JNIEXPORT jstring JNICALL Java_com_getRegCode(JNIEnv *env, jobject)
{
string strRegisterCode=“1234567890”;
jclass strClass = (env)->FindClass(“java/lang/String”);
jmethodID ctorID = (env)->GetMethodID(strClass, “”, “([BLjava/lang/String;)V”);
jbyteArray bytes = (env)->NewByteArray(strRegisterCode.size());
(env)->SetByteArrayRegion(bytes, 0, strRegisterCode.size(), (jbyte *) strRegisterCode.c_str());
jstring encoding = (env)->NewStringUTF(“GB2312”);
return (jstring) (env)->NewObject(strClass, ctorID, bytes, encoding);
}
边栏推荐
猜你喜欢
随机推荐
剑指Offer 32.Ⅰ从上到下打印二叉树
MAC安装Mysql超详细完整教程
GM8775C MIPI转LVDS调试心得分享
实现动态库(DLL)之间内存统一管理
Typora use
MQ-5 combustible gas sensor interface with Arduino
汇编语言跳转指令总结
基础IO(下):软硬链接和动静态库
Laptop charging problems
龙芯2K1000使用nfs挂载文件系统进行使用
【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
最第k大的数的一般性问题
如何用 Lightly 进行 Debug 断点调试?
联阳IT66121FN提供SDI转HDMI方案分享
Lightly:新一代的C语言IDE
【TCS3200 color sensor and Arduino realize color recognition】
进程(中):进程状态、进程地址空间
剑指Offer 64.求1+2+...+n 递归+&&
Chrome 里的小恐龙游戏是怎么做出来的?
GM7150 CVBS转BT656视频解码芯片详细内容及设计要求









