JNI。我找不到任何明确的解决方案。我试图将此字符串作为 charar-6ren">
gpt4 book ai didi

java - 使用 JNI 将字符串数组从 java 传递到 C

转载 作者:IT老高 更新时间:2023-10-28 21:04:27 24 4
gpt4 key购买 nike

我有一个像 {"myname","yourname","hisname"} 这样的字符串数组,我正在尝试使用 将此数组发送到 C>JNI。我找不到任何明确的解决方案。我试图将此字符串作为 chararray 但没有成功。

有没有办法做到这一点?

最佳答案

您可以编写一个简单的函数,它接受一个 jobjectArray 对象,将每个对象强制转换为 jstring,然后在其上调用 GetStringUTFChars

像这样:

void MyJNIFunction(JNIEnv *env, jobject object, jobjectArray stringArray) {

int stringCount = env->GetArrayLength(stringArray);

for (int i=0; i<stringCount; i++) {
jstring string = (jstring) (env->GetObjectArrayElement(stringArray, i));
const char *rawString = env->GetStringUTFChars(string, 0);
// Don't forget to call `ReleaseStringUTFChars` when you're done.
}
}

关于java - 使用 JNI 将字符串数组从 java 传递到 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972207/

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