3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
[VC(Visual C++) ]-MFC的CStringArrayy 資料排序 本篇要分享– MFC(VC6)的CStringArrayy 資料進行排序,有興趣的(C/P)同好,歡迎來(C/P)一下哈哈 ^ ^。 SortableStringArray.h // SortableStringArray.h: interface for the CSortableStringArray class. // //////////////////////////////////////////////////////////////////////   #if !defined(AFX_SORTABLESTRINGARRAY_H__349A568A_2C25_4BC9_A63F_CF6DCC5FD4CC__INCLUDED_) #define AFX_SORTABLESTRINGARRAY_H__349A568A_2C25_4BC9_A63F_CF6DCC5FD4CC__INCLUDED_   #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000   typedefint (__cdecl *GENERICCOMPAREFN)(constvoid * elem1, constvoid * elem2); typedefint (__cdecl *STRINGCOMPAREFN)(const CString * elem1, const CString * elem2);   class CSortableStringArray : public CStringArray { public:     CSortableStringArray();     virtual ~CSortableStringArray();     void Sort(STRINGCOMPAREFN pfnCompare = Compare);   protected:     staticint __cdecl Compare(const CString * pstr1, const CString * pstr2); };   #endif// !defined(AFX_SORTABLESTRINGARRAY_H__349A568A_2C25_4BC9_A63F_CF6DCC5FD4CC__INCLUDED_)   SortableStringArray.cpp // SortableStringArray.cpp: implementation of the CSortableStringArray class. // //////////////////////////////////////////////////////////////////////   #include "stdafx.h" #include "CStringArray_Sort.h" #include "SortableStringArray.h" #include   #ifdef _DEBUG #undef THIS_FILE staticchar THIS_FILE[]=__FILE__; #definenew DEBUG_NEW #endif   ////////////////////////////////////////////////////////////////////// // Construction/Destruction //////////////////////////////////////////////////////////////////////   CSortableStringArray::CSortableStringArray() {   }   CSortableStringArray::~CSortableStringArray() {   } int CSortableStringArray::Compare(const CString * pstr1, const CString * pstr2) {     ASSERT(pstr1);     ASSERT(pstr2);     return pstr1->Compare(*pstr2); }   void CSortableStringArray::Sort(STRINGCOMPAREFN pfnCompare /*= CSortedStringArray::Compare */) {     CString * prgstr = GetData();     qsort(prgstr,GetSize(),sizeof(CString),(GENERICCOMPAREFN)pfnCompare); }   CStringArray_Sort.cpp // CStringArray_Sort.cpp : Defines the entry point for the console application. //   #include "stdafx.h" #include "CStringArray_Sort.h" ///////////////////////////////// #include "SortableStringArray.h" ///////////////////////////////// #ifdef _DEBUG #definenew DEBUG_NEW #undef THIS_FILE staticchar THIS_FILE[] = __FILE__; #endif   ///////////////////////////////////////////////////////////////////////////// // The one and only application object   CWinApp theApp;   usingnamespace std;   int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) {     int nRetCode = 0;       // initialize MFC and print and error on failure     if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))     {         // TODO: change error code to suit your needs         cerr << _T("Fatal Error: MFC initialization failed") << endl;         nRetCode = 1;     }     else     {         // TODO: code your application's behavior here.         CSortableStringArray SASA;         SASA.Add(CString("test_840K"));         SASA.Add(CString("test_64K"));         SASA.Add(CString("test_640K"));         SASA.Add(CString("test_1240K"));         for (int i = 0; i <= SASA.GetUpperBound(); i++)             cout << SASA[i].GetBuffer(0) << endl;                 SASA.Sort();         cout <           for (int j = 0; j <= SASA.GetUpperBound(); j++)             cout << SASA[j].GetBuffer(0) << endl;       }       return nRetCode; }     CStringArray_Sort.h #if !defined(AFX_CSTRINGARRAY_SORT_H__86576243_E046_4134_B859_5B29476B9AF1__INCLUDED_) #define AFX_CSTRINGARRAY_SORT_H__86576243_E046_4134_B859_5B29476B9AF1__INCLUDED_   #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000   #include "resource.h"     #endif// !defined(AFX_CSTRINGARRAY_SORT_H__86576243_E046_4134_B859_5B29476B9AF1__INCLUDED_)   完整範例下載:http://yfdisk.com/file/jashliao/10cb3cf2/ 參考資料出處:http://support.microsoft.com/kb/216858/zh-tw

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦