char ** - Was ist das für eine Definition ?



  • Hallo

    ich muss eine Funktion aus einer DLL-Datei aufrufen.

    Die Funktion ist so definiert:

    int TM_DLL_EXP CreateTKey
    (
    const char* name,
    const char* email,
    const char* producerId,
    char** privateKey,
    char** publicKey,
    );

    Kann mir jemand sagen wie ich die Variablen privateKey und publicKey
    definieren muss damit ich die Funktion erfolgreich ausführen kann.

    Ich habe das ganze so definiert:

    char **privatekey=NULL;
    char **publickey=NULL;

    CreateTKey ( "Test","test@test.de","1234",privateKey,publicKey);

    klappt aber nicht beim aufrufen der Funktion stürtz mein Programm ab.

    mfg
    bidego



  • etwa so

    char *privatekey; 
    char *publickey; 
    CreateTKey ( "Test","test@test.de","1234",&privateKey,&publicKey);
    


  • Gibt es noch andere möglichkeiten ?



  • Hallo

    bidego schrieb:

    Gibt es noch andere möglichkeiten ?

    Warum? Gib es ein Problem mit der Lösung von "net".

    chrische



  • Hallo,

    Mein Programm stürzt bei dem Aufruf immer noch ab.
    Egal welche Version ich benutzte.

    Muss in der Version von net noch speicher für
    die Variable reserviert werden ?

    Was bedeutet char ** eigentlich genau.

    mfg
    bidego



  • Hallo

    bidego schrieb:

    Hallo,

    Was bedeutet char ** eigentlich genau.

    mfg
    bidego

    Ein Zeiger auf einen Zeiger auf ein char.

    chrische



  • Hallo,

    bidego schrieb:

    Was bedeutet char ** eigentlich genau.

    für gewöhnlich bezeichnet man so eine char-Matrix als Stringtabelle, genauso wie der argv bei main:

    #include <iostream>
    
    int main(int argc, char **argv) {
      for (int i=0;i<argc;++i)
        std::cout<<argv[i]<<'\n';
    
      return 0;
    };
    

    Mfg

    GPC



  • dann musste wohl die doku von der funktion lesen oder, wenn laut doku alles richtig ist, im debugger singlesteppen wo's kracht...


Anmelden zum Antworten