convert jstring to LPCOLESTR

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • convert jstring to LPCOLESTR

    Hallo zusammen,

    ich bin ein absoluter Neuling und habe meine Mühe und Not mit der Verarbeitung von Strings in C++.

    Ich habe folgendes Problem:

    Ich erhalte über das JNI einen jstring. Dieser beinhaltet den Pfad einer Datei, die ich erstellen möchte. Die Funktion "SetOutputFileName" benötigt allerdings, wenn ich das richtig verstehe, einen String vom Typ LPCOLESTR. Ich habe leider keine Ahnung, wie ich die Konvertierung vollziehen muss. Kann mir aber nicht vorstellen, dass das so schwer ist.

    Ich hoffe ich konnte mich verständlich machen können und freue mich über jede Hilfe.
  • Hab mir gedacht, dass es vielleicht besser ist, wenn ich den Code dazu schreibe...:-)

    Also, die Nativ-Funktion, die via Java aufgerufen wird lautet:

    JNIEXPORT void JNICALL Java_cmToolkit_cmEasyVideoRecorderJNI_startMovie(JNIEnv *env, jclass clazz, jstring jpath )
    {
    return;
    }


    Nun habe ich vor, mit "jpath"(welches den Pfad der Datei beinhaltet) die C-Funktion "SetOutputFileName" auszuführen. Ich habe es einfach so mal versucht:


    JNIEXPORT void JNICALL Java_cmToolkit_cmEasyVideoRecorderJNI_startMovie(JNIEnv *env, jclass clazz, jstring jpath )
    {
    char cpath = (char) jpath;
    LPCOLESTR lcpath = (LPCOLESTR)cpath;
    m_pCapture->SetOutputFileName(&MEDIASUBTYPE_Avi,lcpath,&pMux
    , &pSink);
    return;
    }

    Aber das funktioniert leider nicht. Mit folgendem Code läufts:

    JNIEXPORT void JNICALL Java_cmToolkit_cmEasyVideoRecorderJNI_startMovie(JNIEnv *env, jclass clazz, jstring jpath )
    {
    m_pCapture->SetOutputFileName(&MEDIASUBTYPE_Avi,L"C:\\Beispi
    el.avi",&pMux, &pSink);
    return;
    }

    Aber das bringt mir nichts, weil ich den Pfad eben über ne Variable steuern will.

    Danke schon mal, für die Hilfe.