tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
915
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    masterjcl masterjcl ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    28
    Guten Tag ich habe ein kleines Problem mit einer funktionen

    ich bekomme ein char**

    und soll eine funktion mit const char* aufrufen

    const char *utf


    wie bekomme ich das hin


    vielen Dank schonmal ist sicherlich ein klacks für euch !


    jcl
     

  2. #2
    MPNuts MPNuts ist offline Mitglied Bronze
    Registriert seit
    Nov 2004
    Ort
    Oppenheim(zwischen MZ und WO)
    Beiträge
    48
    Code :
    1
    2
    3
    4
    5
    6
    
     
    char *xptr;
    char **ptrptr;
    &xptr=ptrptr;[font=Courier New][size=1]
     
    [/size][/font]
    So müsstest du den PointerPointer in einen einfachen Pointer wandel können!
     

  3. #3
    masterjcl masterjcl ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    28
    Geht leider nicht hier noch mal ein wenig mehr background !


    Ich habe einen sunrpc client programmiert dieser funktioniert und liefert ein string nach xdr beschreibung, macht daraus char**


    Diesen kann ich mit

    Code :
    1
    
    printf("%s\n",*variable);

    ausgeben.

    dieses array muss ich mit einer java gui verbinden
    dazu muss ein UTF String erzeugt werden die Funktion hat folgende Parameter

    Code :
    1
    
    jstring NewStringUTF(const char *utf)




    hier noch mal die funktion im Detail




    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    JNIEXPORT jstring JNICALL Java_de_sysint_ss04_client_SunWrapper_getAListe
      (JNIEnv * env, jobject obj){
      CLIENT *clnt;
      char * *result_1;
      char *rpccall_getaliste_1_arg;
      char * host ="localhost";
     
      clnt = clnt_create (host, RPC_IF, RPCIF_CALL, "udp");
            if (clnt == NULL) {
                    clnt_pcreateerror (host);
                    exit (1);
            }
     
      result_1 = rpccall_getaliste_1((void*)&rpccall_getaliste_1_arg, clnt);
            if (result_1 == (char **) NULL) {
                    clnt_perror (clnt, "call failed");
            } else { printf("%s",*result_1); }
     
             jstring jmystr = env->NewStringUTF(env, *result_1);
      return jmystr;
      }


    Der Sinn dieser Aufgabe -> es gibt keinen es ist ein Vergleich von jax-rpc und sun-rpc in einer lagerverwaltung, ich hab den jax kram aber schon fertig nur an dem sun mist fehlt noch. (nette Semesteraufgabe ohne Sinn und Verstand aber mich fragt ja keiner )

    PS: ich habe dafür genau 8 Wochen Zeit inclusive Datenmodell Pozessmodellierung UML2 junit usw


    thx
     

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Code :
    1
    
    jstring NewStringUTF(const char *utf)
    Code :
    1
    
    jstring jmystr = env->NewStringUTF(env, *result_1);
    Da stimmt was mit deiner Parameteranzahl nicht...

    Was bringt er denn für Fehler?

    Tut es denn ein einfaches:

    Code :
    1
    
    jstring jmystr = env->NewStringUTF((const char*)*result_1);

    nicht?

    Was ist mit den Adressen *(result + x) mit x > 0 ?

    Gruß

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

  5. #5
    masterjcl masterjcl ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    28
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    Server:~/sunrpc # ./doit.ee
    de_sysint_ss04_client_SunWrapper.cpp: In function `_jstring*
       Java_de_sysint_ss04_client_SunWrapper_getAListe(JNIEnv*, _jobject*)':
    de_sysint_ss04_client_SunWrapper.cpp:26: error: no matching function for call
       to `JNIEnv_::NewStringUTF(JNIEnv*&, char*&)'
    /usr/lib/java/include/jni.h:1578: error: candidates are: _jstring*
       JNIEnv_::NewStringUTF(const char*)
     

  6. #6
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Code :
    1
    2
    3
    4
    
    de_sysint_ss04_client_SunWrapper.cpp:26: error: no matching function for call
       to `JNIEnv_::NewStringUTF(JNIEnv*&, char*&)'
    /usr/lib/java/include/jni.h:1578: error: candidates are: _jstring*
       JNIEnv_::NewStringUTF(const char*)
    Zitat Zitat von RedWing
    Da stimmt was mit deiner Parameteranzahl nicht...

    Was bringt er denn für Fehler?

    Tut es denn ein einfaches:

    Code :
    1
    2
    
     
    jstring jmystr = env->NewStringUTF((const char*)*result_1);



    nicht?
    Du übergibst der Funktion noch ein Objekt vom Typ JNIEnv*& für diesen
    Parameter und diese Parmeteranzahl ist die Funktion aber gar nicht
    definiert...
    Gruß

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

  7. #7
    masterjcl masterjcl ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    28
    ich bin ein bischen blöde den Fehler habe ich schon am Anfang ein paar mal gemacht die env umgebungsklasse wird in den neuen versionen schon intern übergeben.


    jetzt geht es vielen dank


    ps wer lesen kann ist klar im vorteil(rtfm)

    nach dem Frust hatte ich auch schon 1 1/2 Flaschen Wein intus
     

Ähnliche Themen

  1. Typ Umwandlung
    Von mkbm im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 11.10.07, 20:25
  2. C Umwandlung
    Von Lucky_Nightmare im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 19.05.06, 19:39
  3. Umwandlung vb 6 in vb.net
    Von drere im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 31.05.05, 17:58
  4. Umwandlung SDI in MDI
    Von RayCoder im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 12.08.04, 13:08
  5. MP3 Umwandlung zu WAV
    Von crazybob im Forum Audiotechnik, Recording & Audio-Software
    Antworten: 7
    Letzter Beitrag: 12.10.01, 11:28