Как конвертировать jchar в char в JNi в разработке для Android? - PullRequest
0 голосов
/ 15 сентября 2011

Я хочу преобразовать массив jchar в массив char в JNI? Как мне это сделать:

Фрагмент кода JNI:

jcharArray arr = (jcharArray) (*env)->CallObjectMethod(env, obj, mid);
int count = (*env)->GetArrayLength(env, arr);
jchar* chars = (*env)->GetCharArrayElements(env, arr, 0);

char reg_chal= chars[1];

char reg_chal = chars [1] инструкция вставляет значение мусора в reg_chal. Как решить эту проблему. Заранее спасибо.

1 Ответ

9 голосов
/ 15 сентября 2011

Если вы обратите внимание на документацию JNI , jchar является 16-разрядным значением без знака (что имеет смысл, поскольку символы java представлены в UTF-16.) Если вы хотите 8-разрядный значение (размер C char), которое вы должны использовать jbyte.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...