JNIEXPORT jbyteArray JNICALL Java_gov_sat_tax_fwsk_util_PORT_VJMJRZDATAIN
 (JNIEnv *env, jobject jobj, jstring jfpmw, jint mwtype, jbyteArray jfpmwPre, jbyteArray jer)
{
char fpmwPre[82];
unsigned char outtype[1];

    const char *fpmw= (env)->GetStringUTFChars(jfpmw,0);


//AfxMessageBox(fpmw);

int resultCode = JMJRZDATAIN((unsigned char*)fpmw,mwtype,fpmwPre,outtype); //调用C的dll


if(resultCode == 0){

//AfxMessageBox((char*)fpmwPre);
char* str= new char[84];
//memset(str,87,0);
memcpy(str,fpmwPre,82);

str[82] = outtype[0]; 
str[83] = 0x00;

//str += 83;
//memcpy(str,&resultCode,4);
//int   len   =   strlen((const char *)str);  

        jfpmwPre = env-> NewByteArray(84); 
        if   (jfpmwPre != NULL)   { 
env->SetByteArrayRegion(jfpmwPre, 0, 84,(jbyte *)str);  
        } 

//AfxMessageBox((char*)jfpmwPre); 
env->ReleaseStringUTFChars(jfpmw,fpmw);
return jfpmwPre; 
}else{

char* str= new char[84];
memcpy(str,fpmwPre,82);

str[82] = outtype[0]; 
str[83] = 0x01;

jfpmwPre = env-> NewByteArray(84); 
if   (jfpmwPre != NULL)   { 
env->SetByteArrayRegion(jfpmwPre, 0, 84,(jbyte *)str);  



env->ReleaseStringUTFChars(jfpmw,fpmw);
return jfpmwPre; 
}}
JNIEXPORT jbyteArray JNICALL Java_gov_sat_tax_fwsk_util_PORT_VJMJRZDATAOUT
 (JNIEnv *env, jobject obj, jstring jfpmw, jint mwtype, jstring jhzfw, jbyteArray jdatain,  jbyteArray joutdata)
{
 const char *fpmw= (env)->GetStringUTFChars(jfpmw,0);
 const char *hzfw= (env)->GetStringUTFChars(jhzfw,0);
 //const unsigned char *datain= (env)->GetStringUTFChars(jdatain,0);  jbyte *datain = (env)->GetByteArrayElements(jdatain, 0);
 //AfxMessageBox(fpmw);  char outdata[256];  int resultNum = JMJRZDATAOUT((unsigned char*)fpmw,mwtype,(unsigned char*)hzfw,(unsigned char*)datain,outdata); // AfxMessageBox((char*)outdata);  // if(resultNum == 0){
char* outstr= new char[256];
memcpy(outstr,outdata,256);

        joutdata = env-> NewByteArray(256); 
        if   (joutdata != NULL)   { 
env->SetByteArrayRegion(joutdata, 0, 256,(jbyte *)outstr);  
        } 


env->ReleaseStringUTFChars(jfpmw,fpmw);
env->ReleaseStringUTFChars(jhzfw,hzfw);
    //env->ReleaseStringUTFChars(jdatain,datain); return joutdata;
}
以上代码,肯定有东西没有回收造成了内存泄露,高手帮忙