我已将jstring转换为string。那么如何在日志文件中打印出来。 只要帮帮我,如果我以错误的方式悔改,那就纠正我。
我想插入cppRaffleIDString
这是我的代码:
JNIEXPORT void JNICALL Java_com_lotto_indiawyn_activities_RaffleUnityActivity_UnityRaffleIDCallback(JNIEnv *env , jobject jobj , jint a , jint b , jint c , jint d , jint e , jint f , jstring availableNumber) {
const jclass stringClass = env->GetObjectClass(availableNumber);
const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");
const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(availableNumber, getBytes, env->NewStringUTF("UTF-8"));
size_t length = (size_t) env->GetArrayLength(stringJbytes);
jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL);
std::string cppRaffleIDString = std::string((char *)pBytes, length);
env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT);
env->DeleteLocalRef(stringJbytes);
env->DeleteLocalRef(stringClass);
if(UnityRaffleIDCallback != NULL) UnityRaffleIDCallback(a,b,c,d,e,f,cppRaffleIDString) ;
}
谢谢。