将unsigned char *转换为jbytearray

时间:2012-11-05 06:33:00

标签: c java-native-interface type-conversion

我正在尝试使用以下代码将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 *的有效方式吗?我在目的地获得的价值似乎搞砸了。请帮助。

0 个答案:

没有答案