char buf[128];
const char *str = (*env)->GetStringUTFChars(env, string, 0);
printf("%s", str);
(*env)->ReleaseStringUTFChars(env, prompt, str);
用GetStringUTFChars得到const char*,最后一定要用ReleaseStringUTFChars()释放const char*。还有几个类似的函数,你可以参考javadoc中的guide\jni,写得很详细的。

解决方案 »

  1.   

    char buf[128];
    const char *str = (*env)->GetStringUTFChars(env, string, 0);
    printf("%s", str);
    (*env)->ReleaseStringUTFChars(env, prompt, str);
    用GetStringUTFChars得到const char*,最后一定要用ReleaseStringUTFChars()释放const char*。还有几个类似的函数,你可以参考javadoc中的guide\jni,写得很详细的。
      

  2.   

    gfzhx:我的意思是VC调用CallXXXMethod()方法时能从Java返回字符串?
      

  3.   

    我已经搞定了,用CallObjectMethod()返回jobject,将jobject转化为jbyteArray就行了。谢谢gfzhx(小小)的答复。