zoukankan      html  css  js  c++  java
  • 涉及到的jstring 到CString 的转换和其他一些东西

    //#include "javacall.h"
    #include "applet1.h"

    //JNIEXPORT jint JNICALL Java_javacall_GetDES (JNIEnv *, jclass, jint p,jint k,jint z)
    JNIEXPORT jint JNICALL Java_Applet1_GetDES(JNIEnv *, jclass, jint p,jint k,jint z)
    {
    int res=GetDES(p,k,z);
          return res;
    }

    jstring convertANSIToUNI(JNIEnv *env,char* cStr)

    {       

                        int slen = strlen(cStr);

                        if(!env||slen==0)

                                 return NULL;

                        jchar* buffer = new jchar[slen];

                        int len = MultiByteToWideChar(CP_ACP,0,cStr,strlen(cStr),(LPWSTR)buffer,slen);

                        if(len>0 && len < slen)

                                 buffer[len]='\0';

                        jstring js = env->NewString(buffer,len);

                        delete [] buffer;

                        return js;    

    }
    void convertUniToANSI(JNIEnv *env,jstring oldStr,char* newStr)

    {

                         int desc_len=256*2;

                         int len;

                         if(oldStr==NULL||newStr==NULL)

                                  return ;

                         wchar_t *w_buffer = new wchar_t[256];

                         wcscpy(w_buffer,(LPWSTR)env->GetStringChars(oldStr,0));

                         env->ReleaseStringChars(oldStr,(jchar *)w_buffer);

                         len = WideCharToMultiByte(CP_ACP,0,w_buffer,1024,newStr,desc_len,NULL,NULL);

                         if(len>0 && len<desc_len)

                         {

                                  newStr[len]='\0';

                         }

                         delete[] w_buffer;

    }

    JNIEXPORT jstring    JNICALL Java_Applet1_ReadIC(JNIEnv * env,jclass,jint l,jint k,jint m)
    {
    jstring js;
    CString CSjs;
    CSjs="12345678";
    CSjs=ReadICrCS(l,k,m);
          AfxMessageBox(CSjs);
          char *cCSjs;
    cCSjs=CSjs.GetBuffer();
          js=convertANSIToUNI(env,cCSjs);

    return js;
    }

    JNIEXPORT jint JNICALL Java_Applet1_WriteIC(JNIEnv *env,jclass,jint l,jint k,jstring iw,jint m)
    {
          char chContext[3000];
          convertUniToANSI(env,iw,chContext);
    CString iwCS;
    iwCS.Format(_T("%s"),chContext);
    AfxMessageBox(iwCS);
    int res=WriteICrCS(l,k,iwCS,m);
    return res;
    }

  • 相关阅读:
    《“十三五”国家信息化规划》(全文)
    新华社受权发布“十三五”规划纲要 共分为20篇(
    KDD2015,Accepted Papers
    KDD2016,Accepted Papers
    图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
    【转】34门课改变人生——牛人自学计算机总结
    北上深金融机构势力版图全揭秘20160930
    马云访澳捐2000万美元设立马云-莫利奖学金 只为报答好友肯·莫利
    提升效率
    VMware设置NAT网络
  • 原文地址:https://www.cnblogs.com/flying_bat/p/1167624.html
Copyright © 2011-2022 走看看