#include <stdio.h>
#include <vector>
const char defStr[] = "aabbccadfadfdaefdcadfasdfeadfadfaadfadf";
int main( int argc,char ** argv)
{
std::vector<bool> bExit(128,false);
std::vector<char> last(128,0);
std::vector<char> vectorStr(defStr,defStr+sizeof(defStr));
int curIndex = 0;
vector<char>::iterator iter;
for (iter=vectorStr.begin();iter!=vectorStr.end();iter++)
{
if( bExit[*iter] != true )
{
last[curIndex] = *iter;
bExit[*iter] = true;
++curIndex;
}
}
last[curIndex]='\0';
for( iter = last.begin();iter != last.end(); iter++ )
{
printf("%c",*iter);
}
return 0;
}
没有详细验证过,参考:http://www.iu8s.com/forum.php?mod=viewthread&tid=8&extra=,欢迎留言讨论。