안녕하세요, JNI를 사용하여 Java 문자열 배열을 C++ 배열에 복사하려고합니다. 나는 이것을 시도했지만 작동하지 않는 것 같습니다.Java에서 C++로 문자열 배열 가져 오기 JNI
char *myarray;
JNIEXPORT void JNICALL
Java_com_Example_accessArray(JNIEnv *env, jobject obj, jobjectArray stringArrays){
int size;
size = env->GetArrayLength(stringArrays);
myarray = env->GetCharArrayRegion(stringArrays, 0, size, null);
}
myarray는 전달 된 Java 배열에서 동일한 값을 유지합니까? 또는 JNI를 통해 전달 된 java String 배열의 값을 C++ 배열에 복사하여 C++의 배열에 같은 vale 값을 저장할 수 있습니까? 미리 감사드립니다.
어떤 문자셋/인코딩 ("코드 페이지") 문자열을 넣으시겠습니까? 유니 코드/UTF-16, 유니 코드/UTF-8, Windows-1252 (그러나 아마도 수정되지 않은 UTF-8_)일까요? Java 문자열은 유니 코드이므로 다른 문자 집합으로 변환하려면 대상 문자 집합에 문자가없는 경우 수행 할 작업은 무엇입니까? '?'를 사용하십시오. 또는 다른 대용품, 예외를 던져, ...? –