一尘不染

JNI将jstring转换为char *

java

我已经通过jstring使用JNI 将URL字符串从Java传递为C代码作为数据类型。我的库方法需要一个char *as url。

我如何转换jstringchar *

PS:在C中使用jcharArray有什么优势吗?(即char []在本地方法中传递而不是字符串)


阅读 267

收藏
2020-09-09

共1个答案

一尘不染

这是我开始使用JNI时发现的几个有用的链接

http://en.wikipedia.org/wiki/Java_Native_Interface

http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html

关于您的问题,您可以使用此

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

   // use your string

   env->ReleaseStringUTFChars(javaString, nativeString);
}
2020-09-09