我这边使用JNA调用C编写的dll,c中函数的参数类型对应为char* 我使用String类型传入,
直接出错,然后换为byte[]数组传入,但是传入以后c语言这边接收以后的字符串出现冗余的字符。
如 java中传入 “reader” c中接收到的就为“reader 洽洽洽”类似的字符,可能不是这个字,不会拼写。
导致我c这边的程序没有办法正确的执行。
不知道为什么?请高手解答。而且我看JNA的文档上 已经说明了 char* 可以对应的为String类型,但是为什么我使用传入不成功呢?
直接出错,然后换为byte[]数组传入,但是传入以后c语言这边接收以后的字符串出现冗余的字符。
如 java中传入 “reader” c中接收到的就为“reader 洽洽洽”类似的字符,可能不是这个字,不会拼写。
导致我c这边的程序没有办法正确的执行。
不知道为什么?请高手解答。而且我看JNA的文档上 已经说明了 char* 可以对应的为String类型,但是为什么我使用传入不成功呢?
解决方案 »
- hibernate 双向一对多关联
- 在Hibernate.cfg.xml文件中配置具有实例名的数据库,如何写connection.url
- 用Jsp怎么做视频播放器?进度是可以拖动的!
- 两个系统之间用URL方式互相调用,这样实现?
- 怎样从servlet传一个list对象给jsp
- 懂xml的朋友来帮忙解决个关于schema的问题啊,谢谢了。
- entityBean如何把String转换为Clob???
- 为什么tomcat运行一个晚上后必须重启?
- structs怪问题,来看看吧!
- 请问如何取得SERVLET环境下WEB-INF\web.xml中所设置的INIT参数?
- windows.open传递参数的问题
- 急等寻求java调用dll高手帮助,加我qq或者msn
就不存在了,可以正确的读取。没人回答对了 真是。但是不可能在byte[]后面增加结束符的。而且使用byte[]是最好的选择。