首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于对CArray的元素进行排序的有关问题

2013-01-07 
关于对CArray的元素进行排序的问题本帖最后由 haohello 于 2012-12-19 10:49:51 编辑typedef struct tagIm

关于对CArray的元素进行排序的问题
本帖最后由 haohello 于 2012-12-19 10:49:51 编辑


typedef struct tagImgFile
{
char dir[MAX_PATH];
tagImgFile(const char * _dir)
{
memset(dir,0,sizeof(dir));
strcpy(dir,_dir);
}
}ImgFile;

CArray <ImgFile*,ImgFile*> ImgFileArray;


用qsort对ImgFileArray中的元素按dir进行排序,
怎么写那个compare函数??
下面的方式不对呀。


int cmp(const ImgFile ** arg1,const ImgFile ** arg2)
{
return strcmp( (*arg1)->dir, (*arg2)->dir);
}


qsort(
    (void*)&ImgFileArray,
    ImgFileArray.GetSize(),
    sizeof(ImgFile*), 
    (int(*)(const void*,const void*))cmp );



[解决办法]
qsort(
    ImgFileArray.GetData(),
    ImgFileArray.GetSize(),
    sizeof(ImgFile*), 
    (int(*)(const void*,const void*))cmp );

热点排行