Wie kann man einen C ++ - String mit qsort in c vergleichen?

Ich habe versucht, die Qsort-Funktion der C-Bibliothek zu lernenstdlib. Dies ist auch in vorgesehenc++. Aber ich verstehe nicht, wie man sie zum Sortieren benutztc++ Streicher. Ich bin nicht sicher, was die Parameter für die sein sollensizeof() Betreiber und ob meinecompare_str Code ist richtig. Ich habe diesen Code ausprobiert:

    #include<iostream>
    #include<cstdlib>
    using namespace std;
    #include<string>

    int compare_str( const void *a, const void *b){
       string  obj = (const char*)a;
       string obj1 = (const char*)b;
       return obj.compare(obj1);
    }
    int main(){
        string obj[4] = {"fine", "ppoq", "tri", "get"};
        qsort(obj, 4, sizeof(obj[0].length()), compare_str);
        for( int i=0; i<4; i++)
            cout<<obj[i]<<endl;
        return 0;
    }

Meine Ausgabe war:

ppoq
tri
get
fine

Ich kann den Fehler nicht ausmachen. Bitte helfen Sie.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage