13,100
社区成员
发帖
与我相关
我的任务
分享
public static final native char[][] jtMFHZ_GetResult();
JNIEXPORT jobjectArray JNICALL Java_com_jFreeWrite_jFreeWrite_jtMFHZ_1GetResult
(JNIEnv *env, jclass cls)
{
jobjectArray result;
int i = 0;
int k = 0;
jclass stArrCls = (*env)->FindClass(env, "[S");//返回的是char[][]型,难道是这里的问题?
if( NULL == stArrCls ) return NULL;
result = (*env)->NewObjectArray(env, 10*30, stArrCls, NULL);//返回一个10*30的二维数组
for(i = 0; i < 10; ++i)
{
int j=0;
jchar tmp[30]={0};
jcharArray iarr = (*env)->NewCharArray(env, 30);
if(iarr == NULL)
return NULL;
for(j=0;j<30;++j)
{
if ( 0 == g_RecogResult[i][j] ) //g_RecogResult确定是没问题的,
break;
tmp[j] = g_RecogResult[i][j];
}
(*env)->SetCharArrayRegion(env, iarr, 0, 30, tmp);//init iarr
(*env)->SetObjectArrayElement(env, result, i, iarr);//init result index of i
(*env)->DeleteLocalRef(env, iarr);
}
LOG(PATH,"end and return");//这里的LOG确实打出来了
return result;//g_RecogResult;
}