用c语言批量删除指定文件夹,C语言删除文件夹下所有代码的注释for Mac
#include
#include
#include
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,*fp2;
char ch,str[5000],address[5000];
char pwd[5000],name[5000],a[1000000],suffix[20];
int fileNum,i;
while(1)
{
strcpy(address,"find ");
fileNum=0;
printf("请拖入文件夹路径:");
scanf("%s",pwd);
if(strcmp(pwd,"exit")==0) exit(0);
printf("请输入合并文件后缀(如.c,.txt):");
scanf("%s",suffix);
strcat(address,pwd);
strcat(address," -name *");
strcat(suffix,">>");
strcat(address,suffix);
strcpy(name,pwd);
strcat(name,"/temp.txt");
strcat(address,name);
system(address);
fp=fopen(name,"r");
while(1)
{
i=-1;
while((str[++i]=fgetc(fp))!=10&&str[i]!=EOF);
if(str[i]==EOF)
{
break;
}
str[i]=0;
fp2=fopen(str,"r");
i=0;
while((ch=fgetc(fp2))!=EOF)
{
a[i++]=ch;
}
a[i]=0;
fclose(fp2);
delete(a);
//将文件保存到新建的txt文件中
char str2[5000];
strcpy(str2,str);
strcat(str2,".txt");
fp2=fopen(str2,"w");
fprintf(fp2,"%s", a);
fclose(fp2);
//将处理后的保存到原文件中
fp2=fopen(str,"w");
fprintf(fp2,"%s",b);
fclose(fp2);
printf("%02d:%s\n",++fileNum,str);
}
fclose(fp);
strcpy(str,"rm ");
strcat(str,name);
system(str);
printf("\n%d个文件注释已删除!\n带注释的原文件已保存在同名目录txt文件下!\n",fileNum);
}
return 0;
}
用c语言批量删除指定文件夹,C语言删除文件夹下所有代码的注释for Mac相关推荐
- linux定时删除文件,如何操作Linux 定时删除指定目下N天前的文件
转载:http://www.51testing.com/html/74/n-3725074.html 做测试的童鞋相信对Linux这个系统不陌生吧,若不及时清理某些文件,长时间运行下去,系统也会吃 ...
- Linux下定时删除指定目下n天前的文件
* 6 * * * find /root/home/zhang/* ctime 1-exec rm -rf {} \; 表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件, ...
- 【转】Linux下定时删除指定目下n天前的文件
* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \; 表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件 ...
- php 删除指定html标签,总结php删除html标签和标签内的内容的方法
经常扒别人网站文章的坑们:我是指那种批量式采集的压根不看内容的,少不了都会用到删除html标签的函数:这里介绍3种不同用途上的方法: $str=' 这里是p标签 这里是a标签 '; 1:删除全部或者保 ...
- html数组删除指定元素,JS实现数组删除指定元素功能示例
本文实例讲述了JS实现数组删除指定元素功能.分享给大家供大家参考,具体如下: www.jb51.net JS数组删除指定元素 var array = ["111", "2 ...
- Linux运维之批量下载指定网站的100个图片文件,并找出大于200KB的文件
题目为: 有一百个图片文件,它们的地址都是 http://down.fengge.com/img/1.png http://down.fengge.com/img/2.png - 一直到http:// ...
- Linux 命令之 cut -- 分割字符串,显示或删除指定字段的内容,合并文件内容
文章目录 一.命令介绍 二.常用选项 三.命令示例 根据指定的字节范围显示指定文件中的内容 指定字段分隔符,显示指定字段的内容 显示指定字段的内容 根据指定的字符范围显示指定文件中的内容 显示指定字段 ...
- java删除指定数据_java 从数据删除指定值
public class ArrayRemoveValue { public static void main(String[] args) { Integer[] _IntArray = new I ...
- Unity中用递归删除空文件夹和文件夹下面的子文件,meta文件保留和IO的一些操作总结
/*----------------------------------------------------------------Created by 王银文件名: FilesTools创建时间: ...
最新文章
- INT_MAX和INT_MIN注意事项
- 干货 | 云计算时代携程的网络架构变迁
- introduction to mechanism
- OpenCV删除面积小的区域 实现图像二值化分割 标记连通区域
- SAP Cloud for Customer的微信集成原型开发完毕后的效果示意图
- java communiframe_[Java教程]javascript iframe相关操作
- 二十年来一直没搞清楚的一个问题
- 回溯算法--8皇后问题
- cannot import name UnrewindableBodyError
- 创新工场面试题——输出螺旋矩阵
- Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)
- 指针知识(四):指针数学计算
- jQuery 学习-DOM篇(一):jQuery 创建元素并添加属性
- 模板题——数位DP、状态压缩、记忆化搜索
- Atitit 2018 技术趋势与没落技术总结 目录 1. 2018 技术雷达	1 1.1. HOSTED IDENTITY MANAGEMENT AS A SERVICE (SaaS)身份管理
- 基于51单片机+SYN6288语音播报
- 【用积分求不规则面积+抛物线方程】HDU-1071 The area
- unity 接入谷歌广告
- 软件单元黑盒测试,黑盒测试与白盒测试
- druid监控页面SQL不显示问题
热门文章
- 凸优化中如何改进GD方法以防止陷入局部最优解
- 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
- 超有用的,从此vi变得友好了
- How Do Annotations Work in Java?--转
- 安装opencms时遇到问题及解决方法
- 用于软件包管理的21个Linux YUM命令 转载
- HTML文本框中只能输入纯数字
- 使用 TOGAF 9.1 框架與 ArchiMate 3.0 建模語言
- 微信小程序外卖增长402%,茶饮下单最活跃
- 谷歌发布TensorFlow 1.4与TensorFlow Lattice:利用先验知识提升模型准确度 搜狐科技 10-12 15:29 选自:Google Research Blog 参与:李泽南、