zoukankan      html  css  js  c++  java
  • Jni碰到的一个异常

      Java与C++都有String对象,而c没有,只有char类型,所以在向C传入String类型的时候,如何处理需要注意一点

    jstring
        Java_com_skymaster_hs_test4_MainActivity_getString(JNIEnv *env,jobject,jstring str){
            const char* cstr = env->GetStringUTFChars(str,0);
            char temp[30] = "hs";
            strcat(temp,cstr);
            jstring ret = env->NewStringUTF(temp);
            return ret;
        }

    jstring 是JNI层的变量,作为java与c的桥梁

    在c中要处理java的String对象,只能定义一个char* 指针,但是注意要定义一个char 数组来保存String的字符串,因为形参

    在返回的时候会销毁,所以如果不保存内容最后放回的是null。c的编码格式是UTF所以调用NewStringUTF函数来转换成string.返回给java层。

    这个只不过是自己的流水账,偶尔有一些心得,错误的地方概不负责
  • 相关阅读:
    团队开发5
    团队开发4
    团队开发3
    团队开发2
    团队开发1
    团队计划会议
    寒假学习进度---完结篇
    寒假学习进度十七
    寒假学习进度十六
    python后续学习
  • 原文地址:https://www.cnblogs.com/ashitaka/p/5948722.html
Copyright © 2011-2022 走看看