当前位置: 首页 > 面试题库 >

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

戚宏浚
2023-03-14
问题内容

我有一个字符串数组一样{"myname","yourname","hisname"},我想这个数组发送到 ç 使用 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.
    }
}


 类似资料:
  • 问题内容: 我有一个PHP脚本,可以从数据库中检索名称(字符串)。我想使用$ .ajax()将此数组传递给Javascript。我不明白如何在PHP中对数组进行编码,然后在Javascript中对其进行解码。有人可以为此提供示例代码吗?非常感谢 !! 问题答案: HTML档案:

  • 我在Liferay门户上有一个portlet,我在其中从调用操作。jsp页面。我想把一个字符串数组传递给另一个。显示此数组的jsp页面。但是,根本没有传递任何值。 我能够使用String something=(String)pref传递一些

  • 是否可以将字符串数组从feeder传递到post请求。 我的csv文件: 我的加特林剧本 我收到的错误消息: 看起来Gatling没有正确地接收馈线数据,我猜断点是字符串数组值传递给Gatling post请求的方式,有什么方法可以实现这一点吗?

  • 我正在使用angularjs启动一个项目。我试图通过我的应用程序发送电子邮件使用Spring启动启动邮件。邮件的消息和对象是由用户以一种形式写的。我想做的是在我的RestController中使用@刚体获取消息和对象值。 我service.js中的功能 我的restContoller中的方法 @RestController公共类EmailController{ 这将引发此异常: 我怎么才能修好它?

  • 我试图在php脚本和c程序之间传递参数。我的php脚本如下所示 然后我想我的c程序返回给我一个字符串(但我真的不知道怎么做),你能帮忙吗?

  • 问题内容: 我在C 中有一个方法,该方法将双精度数组作为参数。我从Java调用此方法,需要传递一个双精度数组。C 例程读取和修改数组的值,而我需要Java中的那些更新后的值。我该怎么做呢? 例如,使用C ++例程: 和Java代码: 我猜不能像上面的调用那样对myMethod进行调用…还是可以吗?而在Swig中进行这项工作所需的是什么。如果我无法进行上述调用,如何将我的值获取到C ++代码? 问题