找出字符串中第一个只出现一次的字符
#include<iostream>
#include<cstring>
using namespace std;
void StrFilter(const char *InputStr,long len, char *OutputStr) // 过滤函数
{
const char *p=InputStr;
int flag[26]; // 没必要用flag[256],减去a的ascii码即可
memset(flag,0,26);
while(*p!='\0')
{
flag[*p-'a']++;
*p++;
}
const char *p1=InputStr;
while(*p1!='\0')
{
if(flag[*p1-'a']==1)
*OutputStr++=*p1;
*p1++;
}
*OutputStr='\0';
}
void main()
{
char Str[]="abacacde";
char *output=new char[strlen(Str)+1];
StrFilter(Str,strlen(Str),output); //传递地址,在StrFilter函数内,要改变地址指向的值;
cout<<output<<endl;
}