gpt4 book ai didi

java - C 和 JNI 数组列表

转载 作者:太空狗 更新时间:2023-10-29 13:38:33 24 4
gpt4 key购买 nike

        jobjectArray ret;
int i;

char *data = malloc(3 * sizeof(char *));

if(data != NULL) {
data[0] = "11";
data[1] = "22";
data[2] = "33";
}
data = realloc(data, 4 * sizeof(char *));
if(data != NULL) {
data[3] = "44";
}

jsize len=4;

ret= (jobjectArray)(*env)->NewObjectArray(env, len,(*env)->FindClass(env, "java/lang/String"),(*env)->NewStringUTF(env, ""));
LOGE("startxx");

jstring str;
for(i=0;i<len;i++) {
str = (*env)->NewStringUTF(env, data[i] );
(*env)->SetObjectArrayElement(env, ret, i, str);
}

LOGE("startxxx");

free(data);
return(ret);

我想在 c 中创建一个数组列表,然后从中创建一个 java jni 数组,我怎样才能从这段代码中返回正确的“11”、“22”、“33”、“44”数组?

警告:

data[0] = "11";: 警告:赋值从指针生成整数而不进行强制转换

str = (*env)->NewStringUTF(env, data[i] );: 警告:传递 '(*env)->NewStringUTF' 的参数 2 使指针来自没有 a 的整数 Actor

最佳答案

数据声明不正确。它应该是 char** 而不是 char*。

关于java - C 和 JNI 数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8355615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com