C语言删除单个代码的注释for Mac
2016-06-18 20:41
567 查看
程序功能
将一个代码文件中的所有//和/**/两种注释删除,同时会将原文件更名保存在同目录下。
操作方法
用X-Code编译完成将可执行文件拖到桌面上双击打开后根据提示操作。
代码如下
将一个代码文件中的所有//和/**/两种注释删除,同时会将原文件更名保存在同目录下。
操作方法
用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); fclo aa5d se(fp); //将原文件保存到新建的txt文件中 strcat(pwd,".txt"); fp=fopen(pwd,"w"); fprintf(fp,"%s", a); fclose(fp); printf("\n这个文件的注释已全部删除!\n带注释的原文件已保存在同目录.txt文件下!\n"); } } return 0; }
相关文章推荐
- C语言文件提取神器for Mac
- C语言代码搜索神器for Mac
- C语言代码合并神器for Mac
- C语言基础大杂汇
- stl泛型程序设计
- stl泛型程序设计
- stl泛型程序设计
- stl泛型程序设计
- stl泛型程序设计
- c语言的基本类型
- c++ 面试常见问题
- C++ 右值引用
- thinking in c++ practice answer
- c++ - 变量与基本类型(1)
- 词组缩写 英语句子所有单词首字母大写输出 C语言/C++编程题
- 项目51-处理C++源代码的程序
- C语言判断一个数是否是质数(蒙格马利快速幂算法)
- 对C++虚函数、虚函数表的简单理解
- c/c++字符串处理大集合
- 最小生成树之Kruskal和Prim算法——C++实现