當前位置:成語大全網 - 新華字典 - MFC中如何將多個編輯框中內容存入二維數組中,並按照字典順序排序,最後以massagebox形式彈出?

MFC中如何將多個編輯框中內容存入二維數組中,並按照字典順序排序,最後以massagebox形式彈出?

1 如果編輯框內容都是字符串的話,二維數組可以用vector<CString>來組織,這樣可以利用vector的排序函數。

vector<CString> data;

2 從多個編輯框取文本有兩種方法:

a 如果編輯框的資源ID號是連續的,可以用GetDlgItem(ID1-N)->GetWindowText來取,這樣可以利用循環語句來寫,代碼比較簡潔:比如

for(int ID=ID_First;ID<=ID_LAST;ID++)

{

GetDlgItem(ID)->GetWindowText(data[i]);

}

b 如果ID號不連續,那就只能壹個壹個的從編輯框獲得內容了

UpdateData();

data[0]=m_cEditString1;

data[1]=m_cEditString2;

data[2]=m_cEditString3;

...

3 排序直接用vector的sort的函數即可

sort(data.begin(),data.end());

4 輸出時把排序後的vector在輸出即可

CString cs;

for(int i=0;i<data.size();i++)

{

cs+=data[i]; cs+="\r\n";

}

MessageBox(cs);