免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2351 | 回复: 2

java调用DLL如何返回LPSTR即char* [复制链接]

论坛徽章:
0
发表于 2013-01-16 12:07 |显示全部楼层
比如C++的函数原型为 long returnResult(LPSTR)

调用函数返回ID,LPWSTR返回数据

LPSTR相当于char*

在C++中调用可以这样的话

char result[30];

ID=returnResult(result);

data=result

请问在java中如何得到这个result的值呢

论坛徽章:
0
发表于 2013-01-16 13:04 |显示全部楼层
public class Test {

        static String fReturn() {
                return "Hello!";
        }

        static void fArgNoWorkie(String s) {
                s = "What am I doing???"; // Doesn't "work"! Java passes by value!
        }

        static void fMutate(StringBuilder sb) {
                sb.append("Here you go!");
        }

        public static void main(String[] args) {
                String s = null;

                s = fReturn();
                System.out.println(s); // prints "Hello!"

                fArgNoWorkie(s);
                System.out.println(s); // prints "Hello!"

                StringBuilder sb = new StringBuilder();
                fMutate(sb);
                s = sb.toString();
                System.out.println(s); // prints "Here you go!"
        }

}

参考:http://stackoverflow.com/questio ... t-parameter-in-java

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
发表于 2013-01-16 17:46 |显示全部楼层
话说我用了native后产生的那个.h头文件里面引用的jni头文件,我不管怎么弄,都提示那个地方有错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP