std::string oder char*



  • Hi!

    Wenn ich mit einem externen Programm an eine c++-DLL einen längeren String (sagen wir 5000 Zeilen) schicke, ist es besser in dieser DLL, diesen als std::string zu empfangen oder als char*?

    Welche Nachteile/Vorteile hätte es für mich?

    char*-Variante:

    int TestMain(char* SInhalt)
    ....
    extern "C" DllEyport __declspec(dllexport) long sBeginne(char* SInhalt)
    

    oder

    std::string-Variante:

    int TestMain(string SInhalt)
    ....
    extern "C" DllEyport __declspec(dllexport) long sBeginne(char* SInhalt)
    


  • hm, was ist an Deinem Code-Beispiel anders?

    Grundsätztlich:

    DLLs können von verschiedenen Compilern aller möglichen Sprachen verwendet werden. Und hier ist in Hinsicht Datentypen etc. für die Schnittstelle der Standard C. D.h. Du kannst keine Klassen übergeben (und damit auch keine Strings), Du kannst z.B. auch keine überladenen Funktionen haben etc.

    -> hab innerhalb Deine DLL std::string. Zum Austausch verwende char*


Anmelden zum Antworten