|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是一个关于文件操作的题目,让删除在 hello.c 中C语言注释,并把删掉的注释保存在new_hello.c中
中间有一大部分是暂未编译的功能,所以被注释了
运行结果是个死循环,不断在hello.c中删除替换了一些莫名其妙的东西,在new_hello.c中不断地输出空格
请各位鱼友帮帮忙了
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- char ch,ch2 = 0;
- FILE *pf = fopen("hello.c","r+");
- FILE *pf2 = fopen("new_hello.c","w");
- if(pf==NULL)
- {
- printf("file open error!");
- exit(0);
- }
- if(pf2==NULL)
- {
- printf("file open error!");
- exit(0);
- }
- while( (ch = fgetc(pf)) != EOF )
- {
- if(ch=='/' && (ch2 = fgetc(pf)) != EOF)
- {
- if(ch2=='/')
- {
- fseek(pf,-2,1);
- fputs(" ",pf);
- fputs("//",pf2);
- }
- // while( ( ch=fgetc(pf) ) !='\n')
- // {
- // fputc(ch,pf2);
- // fputc('-',pf2);
- // fseek(pf,-1L,1);
- // fputc('+',pf);
- // }
- // fputc('\n',pf2);
- }
- // else if(ch=='/' && ch2 == '*')
- // {
- // fseek(pf,ftell(pf)-2,0);
- // fputs(" ",pf);
- // fputs("/*",pf2);
- // while(1)
- // {
- // while( ( ch=fgetc(pf) ) !='*')
- // {
- // fputc(ch,pf2);
- // fseek(pf,-1,1);
- // fputc(' ',pf);
- // }
- // if(ch=='*' && ( ch=fgetc(pf) ) =='/' || ch==EOF)
- // {
- // if(ch==EOF)
- // {
- // fputc('*',pf2);
- // fseek(pf,-1,1);
- // fputc(' ',pf);
- // }
- // else
- // {
- // fputs("*/\n",pf2);
- // fseek(pf,-2,1);
- // fputs(" ",pf);
- // }
- // break;
- // }
- // else
- // {
- // fputc('*',pf2);
- // fseek(pf,-1,1);
- // fputc(' ',pf);
- // }
- // }
- // }
- }
- if(fclose(pf))
- {
- printf("file close error!");
- exit(0);
- }
- if(fclose(pf2))
- {
- printf("file close error!");
- exit(0);
- }
- return 0;
- }
复制代码
|
-
程序处理后hello.c的结果
-
原来的hello.c
-
程序处理后new_hello.c的结果
|