1
는 여기에 "바보 같은 질문이다
두 jstrings는 JNI에 비교 될 수 그렇다면 어떻게Comparation는 JNI에서
두 jstrings는 JNI에 비교 될 수 그렇다면 어떻게Comparation는 JNI에서
당신은 두 가지 옵션이 있습니다 (I 당신이 어떤지를 비교하려는 있으리라 믿고있어 ...)
?당신 ~ 싶다. 다음과 같은 것을 시도해보십시오. 옵션 2의 소스 코드가 없습니다.
경고 경고를 컴파일하거나 테스트하지는 않았지만 아마도 이와 비슷한 것을 원할 것입니다. Java 문자열에 ASCI 문자 이외의 문자가 있으면 버그가 있다고 생각합니다. 나는 또한 어떤 오류 검사도하지 않았다.
jbyteArray bytes = 0;
jclass localClass = env->FindClass("java/lang/String");
jmethodID methodID = env->GetMethodID(localClass, "getBytes", "()[B");
bytes = (jbyteArray)env->CallObjectMethod(jstr, methodID);
jint len = env->GetArrayLength(bytes);
char* data = new char[len+1];
env->GetByteArrayRegion(bytes, 0, len,(jbyte *)data);
data[len] = 0;
std::wstring result(data);
는 비교, 두 번째 jstring
에 대해 동일한 작업을 수행 2 std::wstring
의
난 당신이 jstring으로하는'c_str'를 얻고'을 strcmp (c_str1, c_str2)를 사용 할 것 같아요;' –