我正在尝试使用以下代码将unsigned char *
转换为jbyteArray
int callWR(const char *name,unsigned char *ubuf)
{
jbyteArray bArray=env->NewByteArray(strlen((const char *)ubuf));
env->SetByteArrayRegion(bArray, 0, strlen((const char *)ubuf), (jbyte *)ubuf);
jstring tableName= (env)->NewStringUTF(name);
int status;
status=(int)(env)->CallStaticIntMethod(clsMC,midWRow,tableName,bArray);
env->DeleteLocalRef(bArray);
return status;
}
这是通过JNI将字节数组参数传递给java函数的正确方法吗?类型转换(jbyte *)ubuf
是将unsigned char *
转换为jbyte *
的有效方式吗?我在目的地获得的价值似乎搞砸了。请帮助。