永发信息网

求一段C语言程序

答案:5  悬赏:40  手机版
解决时间 2021-12-02 02:33
  • 提问者网友:欲劫无渡
  • 2021-12-01 05:18
求一段C语言程序
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-12-01 05:31
本程序能够提取所有C/C++程序的注释
即之间和//......之后的部分

#include

main()
{
FILE *fp,*fs;
char cFName[80],front,data[256],cSName[80];
int j=0;
printf ("Please Input Source File:");
scanf ("%s",cFName);
printf ("Please Input Save File:");
scanf ("%s",cSName);
fp=fopen(cFName,"r");
fs=fopen(cSName,"w");
if (fp==NULL || fs==NULL)
return 1;
front=fgetc(fp);
while (front!=EOF)
{
while (front=='/' && front!=EOF)
{
j=0;
front=fgetc(fp);
if (front=='/')
{
while ((front=fgetc(fp))!='\n')
data[j++]=front;
data[j]='\0';
fprintf (fs,"//%s\n",data);
}
else if (front=='*')
{
bk: while ((front=fgetc(fp))!='*' && front!=EOF)
jp: data[j++]=front;
if ((front=fgetc(fp))!='/' && front!=EOF)
{
data[j++]='*';
if (front=='*') goto jp;
data[j++]=front;
goto bk;
}
data[j]='*';data[j+1]='/';data[j+2]='\0';
fprintf (fs,"/*%s\n",data);
}
}
front=fgetc(fp);
}
fclose (fp);
fclose (fs);
puts ("Dumped Successfully!");
}
全部回答
  • 1楼网友:想偏头吻你
  • 2021-12-01 08:39
这个不会 啊 爱莫能助了
  • 2楼网友:玩家
  • 2021-12-01 07:14
打开文件
搜索这个文件
如果str = "//"
把一行都保存到另一个文本文件里
如果str = ""把中间的东东保存到文件里
  • 3楼网友:蓝房子
  • 2021-12-01 05:59
大哥你的问题相当于编写一个语法检查器应该可以的吧,不过你的设计要求不明了,提取后放到哪里?
怎么放?你可以自己分析一下这个需求再上来问比较好!
  • 4楼网友:野慌
  • 2021-12-01 05:42


#include
#include

void main()
{
FILE *fp,*fp1;
char filename[30], context[2000], get[80];
int i=0,p=0,ci=0,geti=0,getj=0;

printf("enter c file name : ");
scanf("%s",filename);

if((fp=fopen(filename,"r"))==NULL)
{
printf("can not open the file: %s ");
}

if((fp1=fopen("c:\\out.txt","w"))==NULL)
{
printf("can not open the file: c:\\out.txt ");
}

while(!feof(fp))
{

i=0;
fscanf(fp,"%s",get);
while(i<=strlen(get))
{

if(p==0)
if(get[i]=='/')
if(get[i+1]=='*')
{
p=1;
}

if(p==1)
{
while(i<=strlen(get))
{
if(get[i]=='*')
{
if(get[i+1]=='/')
{
context[ci++]='*';
context[ci++]='/';
p=0;
break;
}
}
context[ci++]=get[i++];
}

if(p==0)
{
context[ci]='\0';
printf("%s\n",context);
fprintf(fp1,"%s\n",context);
ci=0;
}
else
context[ci-1]='\n';
}
i++;
}
}
fclose(fp);
fclose(fp1);
}

例如:在c:盘下有一个名为a.c的文件
enter c file name :
c:\a.c
接下来它会输出它里面的注释。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯