MFC_CMAP使用
void C例子MAP和LISTDlg::OnBnClickedButton3() { CMap<CString,LPCTSTR,int,int&> map; TCHAR buff[1024];//作为进制转换的结果放在里面 for(int i=0;i<16;i++){ //用16进制作为map的key //整数到16进制,咱们就联想到_itot memset(buff,0,sizeof(TCHAR));//清空数组 _itot(i,buff,16);//转换成16进制 CString f = buff; map.SetAt(f,i); } //接下来进行打印 //for(int i=0;i<map.GetCount();i++){ // // //把i转换成咱们的16进制 // memset(buff,0,sizeof(TCHAR));//清空数组 // _itot(i,buff,16);//转换成16进制 // CString f = buff; // int a; // map.Lookup(f,a); // CString str; // str.Format(_T("第一个值是%d\r\n"),a); // AfxMessageBox(str); //} POSITION position = map.GetStartPosition();//相当于获得了一个迭代器 CString key; int value1; while(position){ map.GetNextAssoc(position,key,value1);//获取map的下一个月元素,他会把迭代器指向下一个元素 CString s; s.Format(_T("key=%s,value=%d"),key,value1); AfxMessageBox(s); } }
好像还有个类:CMapStringToString,这个没试过

浙公网安备 33010602011771号