jstring을 char로 변환하는 JNI *
jstring
JNI를 사용하여 데이터 유형으로 Java에서 C 코드로 URL을 전달했습니다 . 그리고 내 라이브러리 메소드는 char *
URL로 필요 합니다 .
CHAPTER 2 할 수 어떻게 jstring
있는 char *
?
추신 : C에서 jcharArray를 사용하면 어떤 이점이 있습니까? (즉 char []
, 기본 메소드에서 대신 전달 )
다음은 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(env, javaString, 0);
// use your string
(*env)->ReleaseStringUTFChars(env, javaString, nativeString);
}
Jason Rogers의 답변에 먼저 감사드립니다.
에서 안드로이드 && CPP는 이 것입니다.
const char *nativeString = env->GetStringUTFChars(javaString, nullptr);
// use your string
env->ReleaseStringUTFChars(javaString, nativeString);
이 오류를 사용할 수 있습니다.
1. 오류 : '->'의 기본 피연산자가 포인터 유형이 아닌 'JNIEnv {aka _JNIEnv}'
2. 오류 : '_JNIEnv :: GetStringUTFChars (JNIEnv * &, _jstring * &, bool)'호출에 대한 일치하는 함수가 없습니다.
3. 오류 : '_JNIEnv :: ReleaseStringUTFChars (JNIEnv * &, _jstring * &, char const * &)'에 대한 호출과 일치하는 함수가 없습니다.
4. "env-> DeleteLocalRef (nativeString);"추가 결국.
참고 URL : https://stackoverflow.com/questions/4181934/jni-converting-jstring-to-char
'IT' 카테고리의 다른 글
Java 클래스에서 SOAP 웹 서비스 호출을 수행하는 방법은 무엇입니까? (0) | 2020.08.05 |
---|---|
C # 열거 형을 반복적으로 사용합니까? (0) | 2020.08.05 |
텍스트 파일에서 Linux 명령 또는 확장에서 확장 행을 계산합니까? (0) | 2020.08.05 |
시스템 트레이에 앱 최소화 (0) | 2020.08.05 |
스칼라 복식 및 정밀 (0) | 2020.08.05 |