jjateArray öğesini jni dilinde yerel c dizesine (char *) dönüştürmeye çalışıyorum? Maalesef, bunun nasıl yapılacağına dair bir belge bulamıyorum. C kodunda aşağıdaki prototip ile bir java işlevi çağırıyorum. c kodda jwiteArray, native char * jni dilinde nasıl dönüştürülür?
public static byte[] processFile(byte[] p_fileContent)
bir bayt dizisi geri bu işlevi yürütmesini. Bu bayt dizisinin içeriği bir java dizesidir. Ama onu bir c dizgisine dönüştürmem gerekiyor.
jbyteArray arr = (jbyteArray) env->CallObjectMethod(clsH, midMain, jb);
printf("%s\n", (char*) arr);
Bağlantınız bozuk. Lütfen güncelle. –
@DRH Bir 1.5 linke 1.4.2 bağlantısını güncellemek pek bir gelişme değildir. – EJP
Dikkat, sonlandırma sona erecek. Genel olarak, dosya içeriği boş bırakılmaz; C (++) dize işlevleri bunun üzerinde boğuşabilir. Bu konuda güvenilir bir şekilde çalışabilmek için, dosya baytını bir baytlık bir bayttan daha büyük bir alana kopyalamanız ve son baytı sıfır olarak ayarlamanız gerekir. –