Как сравнить строку C ++, используя qsort в c?
Я пытался узнать функцию qsort c-библиотекиstdlib
, Это предусмотрено даже вc++
, Но я не понимаю, как использовать их для сортировкиc++
строки. Я не уверен, какие параметры должны быть дляsizeof()
оператор и будь моимcompare_str
Код правильный. Я попробовал этот код:
#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;
}
Мой вывод был:
ppoq
tri
get
fine
Я не могу разобрать ошибку. Пожалуйста помоги.