void Replicatedata(CStringArray* inputData,CStringArray* outputData,int &size)
{
CMap<CString , LPCTSTR , bool, bool &> StrMap;
for ( int i = 0; i < size; i ++ )
{
StrMap[inputData->GetAt(i)] = true;
}
POSITION pos = StrMap.GetStartPosition();
int i = 0;
while ( pos )
{
bool value;
CString key;
StrMap.GetNextAssoc( pos, key, value );
outputData->Add(key);
i ++;
}
size = i;
}
调用方法:
void CxxxDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CStringArray intpuDate,outputDate;
intpuDate.Add(L"abc");
intpuDate.Add(L"abc");
intpuDate.Add(L"abcd");
intpuDate.Add(L"abcd123");
intpuDate.Add(L"abcd123");
intpuDate.Add(L"abcd45");
int size = intpuDate.GetSize();
Replicatedata(&intpuDate,&outputDate,size);
for (int x = 0;x<size;x++)
{
AfxMessageBox(outputDate[x]);
}
}
结果:
abcd123
abcd
abcd45
abc