美好的一天,我試圖使用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的,所以如果你想轉換爲另一個字符集,如果目標字符集缺少一個字符,你想要做什麼?使用 '?'或另一個替代品,拋出一個例外,...? –