JNI转换的jstring为char *JNI、jstring、char

2023-09-12 00:28:01 作者:低头〃默默流泪

我已通过URL字符串从Java到C code为的jstring 的数据类型。而我的图书馆方法需要一个的char * 的URL。

I have passed a url String from java to C code as jstring data type. And my library method needs a char * as url.

我如何转换的jstring 的char *

P.S。是否有下使用jcharArray任何优势? (即通过的char [] ,而不是字符串本机方法)

p.s. Is there any advantage of using jcharArray in C? (i.e. Passing char [] instead of string in native method)

在此先感谢您的帮助。

推荐答案

下面是AA情侣,我发现,当我开始使用JNI有用的链接

Here's a a couple of useful link that I found when I started with JNI

http://en.wikipedia.org/wiki/Java_Native_Interface http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html

关于你的问题,你可以使用这个

concerning your problem you can use this

JNIEXPORT void JNICALL Java_ClassName_MethodName(JNIEnv *env, jobject obj, jstring javaString)   
{
   const char *nativeString = (*env)->GetStringUTFChars(env, javaString, 0);

   // use your string

   (*env)->ReleaseStringUTFChars(env, javaString, nativeString);
}