如题,在java使用jni调用vc++生成的dll时候,需要把原来那个dll中的得到的结果CString转换成java需要的jstring 返回;
例子如下:
#include "stdafx.h"
#include "NativeTest.h"#include "CESHI.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endifCString ocrimage(CString name);  //调用vc++生成的dll
#pragma comment(lib,"OCRDLL")
BEGIN_MESSAGE_MAP(CNativeTestApp, CWinApp)
END_MESSAGE_MAP()CNativeTestApp::CNativeTestApp()
{
}JNIEXPORT jstring JNICALL Java_CESHI_ocrimage    //返回的一个是jstring 
(JNIEnv *, jobject, jstring){
CString result=ocrimage("K:\\class\\DSC04797.JPG"); //调用dll里面的方法函数,返回的是一个CString   
return result;  //需要转换才能返回,现在弹出cannot convert from 'class CString' to 'class _jstring
}
CNativeTestApp theApp;