如何将字符串数组从C++返回到Java(JNI)
How to return String Array from C++ to Java (JNI)
我在 c++ 上有一个字符串数组,我需要将其返回到 Java 类。我该怎么做?
我试过这个:
string paroleord[app.size()];
jobjectArray ret;
ret = (jobjectArray)env->NewObjectArray(app.size(),env->FindClass("java/lang/String"), 0);
for (int k = 0; k < app.size(); k++)
{
env->SetObjectArrayElement(ret, k,env->NewStringUTF(paroleord[k]));
}
return ret;
但是我有一个错误,因为NewStringUTF需要一个对象作为参数,你能帮我吗?
如果你能用Vector
或Array
生存下来,你可以简单地从C++代码中返回集合。
这将需要一些"低级"编码,但它相当简单。
看看这里:
http://jnicookbook.owsiak.org/recipe-no-045/
至于字符串本身,看看这里:
http://jnicookbook.owsiak.org/recipe-No-010/
此外,请确保将string
转换为字符数组。
(*env)->NewStringUTF(env, my_string.c_str());
相关文章:
- 如何将字符串数组返回到 java JNI
- Java JNI GDAL 本机库在重新部署为 Web 应用程序时出现类加载器错误
- 如何将字符串数组从C++返回到Java(JNI)
- C 多线程JAVA JNI方法调用
- 在Java(JNI)中与Mingw C 一起编译64位静态LIB
- 如果您以Java JNI分配的本机代码中的内存泄漏,会发生什么
- Java Jni and C++
- 使用java jni时转换字符串类型
- Java JNI JAWT 错误未解析的外部符号__imp__JAWT_GetAWT@8
- Java JNI "symbol lookup error" with c++ 库
- 一般使用 java JNI GetFieldID 和 JNI
- 如何部署一个混合的C++/Java(JNI)应用程序
- 如何以定义良好的线程安全方式将C++字符串传递给Java JNI
- Java JNI符号查找错误
- C++/Java JNI收到异常unsastifiedLinkError
- 如何查找Java + JNI + c++进程中的内存泄漏
- 是否有可能制作一个调用jdbc的Java JNI
- Java - JNI - 将UCS-2字符转换为jchar(即Java的char)
- Java JNI UnsatisfiedLinkError
- Java JNI包装工具