程序功能
将一个代码文件中的所有//和/**/两种注释删除,同时会将原文件更名保存在同目录下。 操作方法
用X-Code编译完成将可执行文件拖到桌面上双击打开后根据提示操作。 代码如下
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char b[1000000 ];
void delete (char a[])
{
int i,j=0 ;
for (i=0 ;a[i];i++)
{
if (a[i]=='/' && a[i+1 ]=='/' )
{
while (a[i]!='\n' )
{
printf ("%c" ,a[i]);
i++;
}
printf ("\n" );
}
else if (a[i]=='/' &&a[i+1 ]=='*' )
{
while (a[i]!='*' ||a[i+1 ]!='/' )
{
printf ("%c" ,a[i]);
i++;
}
printf ("%c%c\n" ,a[i],a[i+1 ]);
i++;
}
else if (a[i]=='\n' )
{
b[j++]='\n' ;
while (a[i]=='\n' ||a[i]==' ' )
{
i++;
}
i--;
}
else
{
b[j++]=a[i];
}
}
b[j]=0 ;
}
int main()
{
FILE *fp;
char ch,pwd[5000 ],a[1000000 ];
int i;
while (1 )
{
printf ("请拖入文件路径:" );
scanf ("%s" ,pwd);
if (strcmp (pwd,"exit" )==0 ) exit (0 );
if ((fp=fopen(pwd,"r" ))==NULL)
{
printf ("\n未找到此文件,请检查文件路径\n!" );
}
else
{
i=0 ;
while ((ch=fgetc(fp))!=EOF)
{
a[i++]=ch;
}
a[i]=0 ;
fclose(fp);
delete (a);
fp=fopen(pwd,"w" );
fprintf (fp,"%s" ,b);
fclose(fp);
strcat (pwd,".txt" );
fp=fopen(pwd,"w" );
fprintf (fp,"%s" , a);
fclose(fp);
printf ("\n这个文件的注释已全部删除!\n带注释的原文件已保存在同目录.txt文件下!\n" );
}
}
return 0 ;
}