博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2dx java调用c++ -- 字符串传递
阅读量:4214 次
发布时间:2019-05-26

本文共 1093 字,大约阅读时间需要 3 分钟。

1、Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp

JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInsertText(JNIEnv* env, jobject thiz, jstring text) {        const char* pszText = env->GetStringUTFChars(text, NULL);        cocos2d::CCIMEDispatcher::sharedDispatcher()->dispatchInsertText(pszText, strlen(pszText));        env->ReleaseStringUTFChars(text, pszText);    }

2、Java_org_cocos2dx_lib_Cocos2dxHelper.cpp

JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxHelper_nativeSetApkPath(JNIEnv*  env, jobject thiz, jstring apkPath) {        g_apkPath = JniHelper::jstring2string(apkPath);    }

static string jstring2string_(jstring jstr)    {        if (jstr == NULL)        {            return "";        }                JNIEnv *env = 0;        if (! getEnv(&env))        {            return 0;        }        const char* chars = env->GetStringUTFChars(jstr, NULL);        string ret(chars);        env->ReleaseStringUTFChars(jstr, chars);        return ret;    }

总结:

java调用C++传递string类型的参数时,常常需要在C++端转化为C类型的字符串,可以调用

GetStringUTFChars
函数进行转化,但是别忘了调用
ReleaseStringUTFChars

转载地址:http://wtsmi.baihongyu.com/

你可能感兴趣的文章
Java5泛型的用法,T.class的获取和为擦拭法站台
查看>>
如何使用java泛型
查看>>
如何创建java泛型
查看>>
Java语言引入泛型的好处是安全简单
查看>>
诊断 Java 代码: 轻松掌握 Java 泛型
查看>>
Java编程思想之15.2简单泛型
查看>>
JDK5.0后的泛型程序设计
查看>>
Hibernate泛型DAO设计
查看>>
基于泛型DAO的Facade设计模式. - Hibernate - Java
查看>>
Hibernate泛型DAO(结合spring模板支持)
查看>>
struts+spring+hibernate的web应用<一> 架构搭建
查看>>
struts+spring+hibernate的web应用<二> Dao层代码编写
查看>>
struts+spring+hibernate的web应用<三> Service层代码编写
查看>>
struts+spring+hibernate的web应用<四> Web层代码编写(1)
查看>>
struts+spring+hibernate的web应用<四> Web层代码编写(2)
查看>>
struts+spring+hibernate分别用到了什么设计模式
查看>>
java scoket 编程实例
查看>>
Struts 1 和 Struts 2 的线程安全
查看>>
数据库视图作用
查看>>
数据库查询的5种视图以及作用
查看>>