Exemplo n.º 1
0
char *getStringElements(JNIEnv *jenv, jstring string) {
	if(string) {
		jbyteArray array = (jbyteArray)jenv->CallObjectMethod(string, getGetBytesId(jenv));
		return getByteArrayElements(jenv, array);
	}
	return 0;
}
Exemplo n.º 2
0
char *getStringElements(JNIEnv *jenv, jstring string) {
	if(string)
	{
		jbyteArray array = (jbyteArray)jenv->CallObjectMethod(string, getGetBytesId(jenv));

		const jsize length = jenv->GetArrayLength(array);
		const jbyte *chars = jenv->GetByteArrayElements(array, 0);
		char *copy = new char[length+1];

		for(int i = 0; i < length; i++) {
			copy[i] = (char)chars[i];
		}
		copy[length] = 0;
		jenv->ReleaseByteArrayElements(array, (jbyte *)chars, 0);

		return copy;
	}
	return 0;
}