How do I convert jstring to wchar_t *

前端 未结 10 859
闹比i
闹比i 2020-12-01 14:48

Let\'s say that on the C++ side my function takes a variable of type jstring named myString. I can convert it to an ANSI string as follows:

10条回答
  •  [愿得一人]
    2020-12-01 15:32

    And who frees wsz? I would recommend STL!

    std::wstring JavaToWSZ(JNIEnv* env, jstring string)
    {
        std::wstring value;
        if (string == NULL) {
            return value; // empty string
        }
        const jchar* raw = env->GetStringChars(string, NULL);
        if (raw != NULL) {
            jsize len = env->GetStringLength(string);
            value.assign(raw, len);
            env->ReleaseStringChars(string, raw);
        }
        return value;
    }
    

提交回复
热议问题