c++ java jstring转char* double转char*

30 篇文章 0 订阅
2 篇文章 0 订阅

char* jstringToChar(JNIEnv *env, jstring jstr)

    {

        char * rtn = NULL;

        jclass clsstring = env->FindClass("java/lang/String");

        jstring strencode = env->NewStringUTF("UTF-8");

        jmethodID mid = env->GetMethodID(clsstring, "getBytes","(Ljava/lang/String;)[B");

        jbyteArray barr= (jbyteArray)env->CallObjectMethod(jstr,mid,strencode);

        jsize alen = env->GetArrayLength(barr);

        jbyte * ba = env->GetByteArrayElements(barr,JNI_FALSE);

        if(alen > 0)

        {

            rtn = (char*)malloc(alen+1);//new char[alen+1];

            memcpy(rtn,ba,alen);

            rtn[alen]=0;

        }

        env->ReleaseByteArrayElements(barr,ba,0);

        

        return rtn;

    }





Double转char*

char buf1[20];

double temp = 10.00000001;

sprintf(buf1, "%.8lf",temp);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值