马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
}
|