(A) JavaToFun.java文件:
class JavaToFun
{
static {System.loadLibrary("JavaToFun");}    native static void h(double a);
    native static void tostr(String b);
    
}
(B) JavaToFun.h文件(javah JavaToFun命令产生):/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JavaToFun */#ifndef _Included_JavaToFun
#define _Included_JavaToFun
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     JavaToFun
 * Method:    h
 * Signature: (D)V
 */
JNIEXPORT void JNICALL Java_JavaToFun_h
  (JNIEnv *, jclass, jdouble);/*
 * Class:     JavaToFun
 * Method:    tostr
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_JavaToFun_tostr
  (JNIEnv *, jclass, jstring*);#ifdef __cplusplus
}
#endif
#endif
(c)  JavaToFun.cpp文件:#include "JavaToFun.h"
#include<iostream.h>
//#include<iostream.h>
JNIEXPORT void JNICALL Java_JavaToFun_h(JNIEnv *, jclass,jdouble k)
{
    cout<<k<<endl;
}
JNIEXPORT void JNICALL Java_JavaToFun_tostr(JNIEnv *, jclass, jstring c)
{
//int j=c.length;
    //char a[]=c;
cout<<c;
}
(D)  Test.java文件:
public class Test
{
public static void main(String args[])
    {
     String str=new String(args[0]);
     double n=Double.parseDouble(args[1]);
     System.out.print("这是Java程序直接输出:");
     System.out.println(str+"="+n);     
     JavaToFun obj=new JavaToFun();
     System.out.print("这是C++函数输出:");
     obj.tostr(str);
     obj.h(n);
    }    
}
         
以上JavaToFun.java调用JavaToFun.cpp的
JNIEXPORT void JNICALL Java_JavaToFun_tostr(JNIEnv *, jclass, jstring c)
函数,输出的字符串c(由Test.java的str传进去的) 怎么是一个16进制数:0x0007FAB8 啊????
关于java能识别的字符串类型jstring,在函数中如何转换为C++的字符串类型????
请高手指教!!!!!!!