如何将 WCHAR_T* 转换为 jstring?
How to cast WCHAR_T* to jstring?
当我尝试将 WCHAR_T* 传递给 java 方法时,应用程序崩溃了。
我有 WCHAR_T* 变量和它的长度。
我知道如何将其转换为 jstring 以调用 java 方法。
我的 C++ 代码:
bool test(WCHAR_T* document){
JNIEnv* jenv = getJniEnv();
methodID_test = jenv->GetMethodID(cc, "test", "(Ljava/lang/String;)Z");
return (bool)(jenv->CallBooleanMethod(obj,methodID_printDocument,document));
}
我的java代码:
public boolean test(String document) {
return false;
}
使用NewString函数将wchar_t转换为jstring。
jstring NewString(JNIEnv *env, const jchar *unicodeChars, jsize len);
当我尝试将 WCHAR_T* 传递给 java 方法时,应用程序崩溃了。
我有 WCHAR_T* 变量和它的长度。
我知道如何将其转换为 jstring 以调用 java 方法。
我的 C++ 代码:
bool test(WCHAR_T* document){
JNIEnv* jenv = getJniEnv();
methodID_test = jenv->GetMethodID(cc, "test", "(Ljava/lang/String;)Z");
return (bool)(jenv->CallBooleanMethod(obj,methodID_printDocument,document));
}
我的java代码:
public boolean test(String document) {
return false;
}
使用NewString函数将wchar_t转换为jstring。
jstring NewString(JNIEnv *env, const jchar *unicodeChars, jsize len);