c++ - 如何用BSTR填充jobjectArray?

标签 c++ java-native-interface

我需要用 BSTR(C++ 端)填充 jobjectArray(实际上是 java 端的 jstring 数组)。我无法将 BSTR 转换为 jobject。 提前感谢您的帮助

最佳答案

根据文档和jni.h文件猜测:

jstring theJavaString = jnienv->NewString(bstr, SysStringLen(bstr));
jnienv->SetObjectArrayElement(theArray, i, theJavaString);

NewString 接受 Unicode 字符(BSTR 已经是)和字符串长度。 (我认为有一个用于 BSTR 长度的宏,它刚刚评估了 bstr[-1],您可以使用它来代替 API 调用,但我找不到它。)

关于c++ - 如何用BSTR填充jobjectArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8742482/

相关文章:

c++ - 如何使用 C++ (keybd_event) 发送 unicode 键

C++ 从文本文件中查找一行并更新/写入该行

c++ - 为什么 boost 的 managed_mapped_file::shrink_to_fit 在 Windows 和 Linux 上表现不同?

android - 文件已加密或不是数据库(异常 net.sqlcipher.database.SQLiteException)

java - 如何在 Linux 上使用 GDB 调试 Java -JNI?

c++ - atoi 与整数和 double

c++ - GDB - strcmp 不工作 : __strcmp_sse2_unaligned

java - C 内存泄漏与 packetsender 套接字

java - 当代码在 Solaris 5.9 上使用系统调用 "connect()"时,jni (java6) 和 X25 native 代码(C 语言)出错

java - 如何使用 jni 指定可变数量的参数