Click here to Skip to main content
15,905,915 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralEnumerating Network Servers Pin
Giles16-Jan-02 2:59
Giles16-Jan-02 2:59 
GeneralRe: Enumerating Network Servers Pin
Carlos Antollini16-Jan-02 3:08
Carlos Antollini16-Jan-02 3:08 
GeneralCDialog printer resolution Pin
Jonnie White16-Jan-02 2:35
Jonnie White16-Jan-02 2:35 
GeneralRe: CDialog printer resolution Pin
567890123416-Jan-02 4:23
567890123416-Jan-02 4:23 
GeneralRe: CDialog printer resolution Pin
Jonnie White16-Jan-02 4:52
Jonnie White16-Jan-02 4:52 
Generalqsort and CArray Pin
Gavin Jerman16-Jan-02 2:28
Gavin Jerman16-Jan-02 2:28 
GeneralRe: qsort and CArray Pin
Giles16-Jan-02 3:11
Giles16-Jan-02 3:11 
GeneralRe: qsort and CArray Pin
Joaquín M López Muñoz16-Jan-02 3:44
Joaquín M López Muñoz16-Jan-02 3:44 
I know I should probably be using the STL, but I don't want to bring it into the app for this 'simple' sort.

You really should, there's nothing wrong with bringing STL to an app however small that app is. Note also that STL sort algorithm will work with your CFundDataPtrArrays, no need to switch to std::vectors.
Anyway, your problem with how you're using qsort is that you need an extra layer of indirection. Do not pass pointers to qsort, pass it pointers to pointers. Here's how:
void SortFundData(CFundDataPtrArray& arrayFundData)
{
if (arrayFundData.GetSize() > 0)
{
qsort((void*)&arrayFundData[0], //note extra '&'
(size_t)arrayFundData.GetSize(), sizeof(CFundData**), // note extra *
(QSORT_FUNC_T)CompareFundData);
}
}

int CompareFundData(const void* elem1, const void* elem2)
{
CFundData** pFD1 = (CFundData**)elem1;
CFundData** pFD2 = (CFundData**)elem2;

return (*pFD1)->m_sFundName.Compare((*pFD2)->m_sFundName);
}
Again, this would be greatly simplified by using STL sort, which is a generic soultion that will pay off in the long term.



Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
GeneralRe: qsort and CArray Pin
Gavin Jerman16-Jan-02 4:35
Gavin Jerman16-Jan-02 4:35 
GeneralRe: qsort and CArray Pin
Joaquín M López Muñoz16-Jan-02 6:08
Joaquín M López Muñoz16-Jan-02 6:08 
GeneralRe: qsort and CArray Pin
Gavin Jerman16-Jan-02 21:22
Gavin Jerman16-Jan-02 21:22 
QuestionWhere is classwizard in Visual C++.NET ? Pin
16-Jan-02 2:21
suss16-Jan-02 2:21 
AnswerRe: Where is classwizard in Visual C++.NET ? Pin
Fazlul Kabir16-Jan-02 2:34
Fazlul Kabir16-Jan-02 2:34 
GeneralRe: Where is classwizard in Visual C++.NET ? Pin
Wizard_0116-Jan-02 2:46
Wizard_0116-Jan-02 2:46 
GeneralRe: Where is classwizard in Visual C++.NET ? Pin
Fazlul Kabir16-Jan-02 3:07
Fazlul Kabir16-Jan-02 3:07 
AnswerRe: Where is classwizard in Visual C++.NET ? Pin
Carlos Antollini16-Jan-02 2:54
Carlos Antollini16-Jan-02 2:54 
GeneralRe: Where is classwizard in Visual C++.NET ? Pin
Wizard_0116-Jan-02 3:00
Wizard_0116-Jan-02 3:00 
GeneralSysmenu Pin
Rickard Andersson2016-Jan-02 2:05
Rickard Andersson2016-Jan-02 2:05 
QuestionHow to send files through winsock Pin
Kuniva16-Jan-02 1:26
Kuniva16-Jan-02 1:26 
AnswerRe: How to send files through winsock Pin
Joao Vaz16-Jan-02 4:04
Joao Vaz16-Jan-02 4:04 
GeneralURGENT Help Required Pin
James Spibey16-Jan-02 1:19
James Spibey16-Jan-02 1:19 
GeneralRe: URGENT Help Required Pin
Phil.Benson16-Jan-02 1:31
professionalPhil.Benson16-Jan-02 1:31 
GeneralRe: URGENT Help Required Pin
James Spibey16-Jan-02 1:36
James Spibey16-Jan-02 1:36 
GeneralRe: URGENT Help Required Pin
Matt Gullett16-Jan-02 2:05
Matt Gullett16-Jan-02 2:05 
GeneralRe: URGENT Help Required Pin
James Spibey16-Jan-02 2:54
James Spibey16-Jan-02 2:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.