类型映射:JNA 中的 wchar_t*& 和 char*&
Mapping of types: wchar_t*& and char*& in JNA
我的客户给了我几个函数的 dll。其中两个如下:
int getText(void* page, wchar_t*& pTextOut);
int getTextJson(void* page, char*& jsonData);
我正在使用 JNA,我想在我的界面中编写等效的 Java 方法:
int getText(Pointer pdfPage, ?? textOutput);
int getTextJson(Pointer pdfPage, ?? jsonData);
可惜以下returns垃圾
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getString(0, "UTF-8");
以下returns和IndexOutOfBoundsException
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getStringArray(0);
谁能推荐正确的 java class 来映射类型 wchar_t*& 和 char*& 或者如何正确获取数据?
谢谢
达米安
以下映射对我来说工作正常
int getText(Pointer page, PointerByReference pTextOut);
int getTextJson(Pointer page, PointerByReference jsonData);
然后我使用以下方法获取数据
PointerByReference pTextOut = new PointerByReference();
getText(page, pTextOut);
System.out.println(pTextOut.getValue().getWideString(0));
我的客户给了我几个函数的 dll。其中两个如下:
int getText(void* page, wchar_t*& pTextOut);
int getTextJson(void* page, char*& jsonData);
我正在使用 JNA,我想在我的界面中编写等效的 Java 方法:
int getText(Pointer pdfPage, ?? textOutput);
int getTextJson(Pointer pdfPage, ?? jsonData);
可惜以下returns垃圾
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getString(0, "UTF-8");
以下returns和IndexOutOfBoundsException
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getStringArray(0);
谁能推荐正确的 java class 来映射类型 wchar_t*& 和 char*& 或者如何正确获取数据?
谢谢 达米安
以下映射对我来说工作正常
int getText(Pointer page, PointerByReference pTextOut);
int getTextJson(Pointer page, PointerByReference jsonData);
然后我使用以下方法获取数据
PointerByReference pTextOut = new PointerByReference();
getText(page, pTextOut);
System.out.println(pTextOut.getValue().getWideString(0));