鱼C论坛

 找回密码
 立即注册
查看: 1214|回复: 1

C语言文件去注释

[复制链接]
发表于 2021-9-17 17:55:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是一个关于文件操作的题目,让删除在 hello.c 中C语言注释,并把删掉的注释保存在new_hello.c中
中间有一大部分是暂未编译的功能,所以被注释了
运行结果是个死循环,不断在hello.c中删除替换了一些莫名其妙的东西,在new_hello.c中不断地输出空格
请各位鱼友帮帮忙了
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {   
  5.     char ch,ch2 = 0;
  6.     FILE *pf = fopen("hello.c","r+");
  7.     FILE *pf2 = fopen("new_hello.c","w");
  8.     if(pf==NULL)
  9.     {
  10.         printf("file open error!");
  11.         exit(0);
  12.     }
  13.     if(pf2==NULL)
  14.     {
  15.         printf("file open error!");
  16.         exit(0);
  17.     }
  18.     while( (ch = fgetc(pf)) != EOF )
  19.     {   

  20.         if(ch=='/' && (ch2 = fgetc(pf)) != EOF)
  21.         {   
  22.             if(ch2=='/')
  23.             {
  24.                 fseek(pf,-2,1);
  25.                 fputs("  ",pf);
  26.                 fputs("//",pf2);
  27.             }

  28.             // while( ( ch=fgetc(pf) ) !='\n')
  29.             // {
  30.             //     fputc(ch,pf2);
  31.             //     fputc('-',pf2);
  32.             //     fseek(pf,-1L,1);
  33.             //     fputc('+',pf);
  34.             // }
  35.             // fputc('\n',pf2);
  36.         }
  37.         // else if(ch=='/' && ch2 == '*')
  38.         // {
  39.         //     fseek(pf,ftell(pf)-2,0);
  40.         //     fputs("  ",pf);
  41.         //     fputs("/*",pf2);
  42.         //     while(1)
  43.         //     {
  44.         //         while( ( ch=fgetc(pf) ) !='*')
  45.         //         {
  46.         //             fputc(ch,pf2);
  47.         //             fseek(pf,-1,1);
  48.         //             fputc(' ',pf);
  49.         //         }
  50.         //         if(ch=='*' && ( ch=fgetc(pf) ) =='/' || ch==EOF)
  51.         //         {   
  52.         //             if(ch==EOF)
  53.         //             {
  54.         //                 fputc('*',pf2);
  55.         //                 fseek(pf,-1,1);
  56.         //                 fputc(' ',pf);
  57.         //             }
  58.         //             else
  59.         //             {
  60.         //                 fputs("*/\n",pf2);
  61.         //                 fseek(pf,-2,1);
  62.         //                 fputs("  ",pf);
  63.         //             }
  64.         //             break;
  65.         //         }
  66.         //         else
  67.         //         {
  68.         //                 fputc('*',pf2);
  69.         //                 fseek(pf,-1,1);
  70.         //                 fputc(' ',pf);
  71.         //         }
  72.         //     }

  73.         // }
  74.     }
  75.     if(fclose(pf))
  76.     {
  77.         printf("file close error!");
  78.         exit(0);
  79.     }
  80.     if(fclose(pf2))
  81.     {
  82.         printf("file close error!");
  83.         exit(0);
  84.     }


  85.     return 0;
  86. }
复制代码

程序处理后hello.c的结果

程序处理后hello.c的结果

原来的hello.c

原来的hello.c

程序处理后new_hello.c的结果

程序处理后new_hello.c的结果
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-22 13:58:32 | 显示全部楼层
没有人会吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-26 11:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表