读书人

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

发布时间: 2013-01-07 10:02:24 作者: rapoo

关于对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 );

读书人网 >VC/MFC

热点推荐