CArray の GetData メソッドで中身がまるまるもらえて、しかも中身書き換えてOKなのです。
struct StructHoge
{
int number;
};
...
CArray <StructHoge, StructHoge> arrayHoge;
...
// ソート関数
int compareHoge(void* context, const void* a1, const void* a2)
{
StructHoge* p1 = (StructHoge*)a1;
StructHoge* p2 = (StructHoge*)a2;
if (p1->number != p2->number)
{
return p1->number - p2->number;
}
return 0;
}
...
// ソート
StructHoge* pHoge = arrayHoge.GetData();
qsort_s((LPVOID)pHoge, arrayHoge.GetCount(), sizeof(StructHoge), compareHoge, NULL);