文档章节

涉及到的jstring 到CString 的转换和其他一些东西

rise-worlds
 rise-worlds
发布于 2016/06/20 13:43
字数 239
阅读 2
收藏 0

//#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;
}

本文转载自:http://www.cnblogs.com/flying_bat/archive/2008/04/23/1167624.html

rise-worlds

rise-worlds

粉丝 3
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
CString/string 区别及其转化

CString/string 区别及其转化 利用MFC进行编程时,我们从对话框中利用GetWindowText得到的字符串是CString类型,CString是属于MFC的类。而一些标准C/C++库函数是不能直接对CString类型进行操...

geek_loser
2016/03/29
41
0
string、string.h和ctring学习小结

string 和 string.h (和cstring等价)头文件的区别 为什么下面这段代码 #include void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s/n", (strcmp(aaa,"abc")) ......

长平狐
2013/01/06
672
0
Crest的OO核心实现

至此,我们已经有了一个比较好用的宏封装的代码风格,一个基础的类对象结构的模拟代码,但是始终没有接触到OO的核心实现。这次,我们终于要进入实质的内容了---实现对象的继承和接口的实现。...

长平狐
2012/10/23
89
0
TeamTalk初学笔记2---关于win-client【第一篇】

为了直观的修改TT客户端页面,我花了很多时间在网上寻找UIDesigner设计工具。最后实在是找不到了,就找了同事帮忙,他climb over the wall(这个词都成敏感词汇了?博客里居然不准用)之后终...

pengmx
2015/09/08
1K
0
BSTR、LPSTR、LPWSTR、CString、VAvariant_t、CComBSTR、...

Visual C++.NET涉及到ATL/ATL Server、MFC和托管C++等多种编程方式,不仅功能强大而且应用广泛。在编程中,我们常常会遇到ANSI、Unicode以及BSTR不同编码类 型的字符串转换操作。本文先介绍基...

mjrao
2012/10/23
324
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 如果是个帅小伙你愿意和他出去吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Ghost 》游戏《死亡搁浅》原声 《Ghost 》游戏(《死亡搁浅》原声) - Au/Ra / Alan Walker 手机党少年们想听歌,请使劲儿戳...

小小编辑
44分钟前
69
5
java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部