美好的一天,我试图使用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字符串数组的值复制到C++数组中,所以C++中的数组保持相同的值?提前致谢。
您希望您的字符串位于哪个字符集/编码(又名“代码页”)? Unicode/UTF-16,Unicode/UTF-8,Windows-1252(但可能不是_modified UTF-8_),...? Java字符串是Unicode的,所以如果你想转换为另一个字符集,如果目标字符集缺少一个字符,你想要做什么?使用 '?'或另一个替代品,抛出一个例外,...? –