1、首先将要过滤的.c文件读取出来。
int main()
{
char resProject[10000];
char token[20] = {0};
int pProject = 0;
FILE *fp,*fp1;
cout<<"1111"<<endl;
if((fp = fopen("E:\\bianyiyuanlishiyan\\sy1\\demo2.c","r")) == NULL)
{
cout<<"can't open this file"<<endl;
exit(0);
}
resProject[pProject] = fgetc(fp);
while(resProject[pProject] != '$')
{
pProject++;
resProject[pProject]=fgetc(fp);
}
pProject++;
resProject[pProject] = '\0';
fclose(fp);
cout<<resProject<<endl;
filter(resProject,pProject);
cout<<resProject<<endl;
}
2、过滤注释,有单行注释和多行注释之分。
void filter(char r[],int pProject)
{
char tempstr[10000];
int count = 0;
for(int i = 0;i<=pProject;i++)
{
//单行注释,直到遇到回车换行
if(r[i]=='/'&&r[i+1]=='/')
{
while(r[i]!='\n')
{