C语言代码合并神器for Mac
来源:互联网 发布:淘宝上的海外专营店 编辑:程序博客网 时间:2024/05/20 03:47
- 程序功能
- 将一个文件夹下包括所有子文件夹中的所有指定类型文件内容合并到一个文件中。
- 操作方法
- 用Xcode编译成功后将生成的可执行文件拖到桌面再双击打开,这样做可以直接将文件夹路径拖入,方便省事。
- 完整代码如下
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ /**要执行的find命令*/ char command[5000]; /**需要合并代码的文件夹路径*/ char folderPath[5000]; /**文件后缀名*/ char suffix[20]; /**存放所有搜索到的文件路径的临时文件,在这个文件中每个路径单独占一行,最后这个文件会被删除*/ char tempFile[5000]; /**临时文件的指针*/ FILE *fTempFile; /**单个文件路径*/ char singleFile[5000]; /**单个文件的指针*/ FILE *fSingleFile; /**存放单个文件中的所有内容*/ char singleFileContent[1000000]; /**合并后的文件*/ char mergedFile[5000]; /**合并文件的指针*/ FILE *fMergedFile; /**文件的数量*/ int fileNum; char ch; int i; while(1) { printf("请拖入文件夹路径:"); scanf("%s",folderPath); printf("请输入要合并文件的后缀(如.c,.txt):"); scanf("%s",suffix); //生成不完整的find命令 strcpy(command,"find "); strcat(command,folderPath); strcat(command," -name *"); strcat(command,suffix); strcat(command,">>"); //生成临时文件的全路径 strcpy(tempFile,folderPath); strcat(tempFile,"/temp.txt"); //生成完整的find命令 strcat(command,tempFile); //执行Unix下的find命令,将搜索到的内容输出到temp.txt文件中 system(command); //生成合并的文件全路径 strcpy(mergedFile,folderPath); strcat(mergedFile,"/mergedFile.txt"); fTempFile=fopen(tempFile,"r"); fMergedFile=fopen(mergedFile,"w"); fileNum=0; while(1) { i=-1; //每次得到一个文件的全路径 while((singleFile[++i]=fgetc(fTempFile))!=10&&singleFile[i]!=EOF); if(singleFile[i]==EOF) { break; } singleFile[i]=0;//文件内容结尾标志 fSingleFile=fopen(singleFile,"r");//打开文件 i=0; while((ch=fgetc(fSingleFile))!=EOF) { singleFileContent[i++]=ch; } singleFileContent[i]=0; fileNum++; printf("\n%d:%s\n\n",fileNum,singleFile); fprintf(fMergedFile,"%d:%s\n",fileNum,singleFile); fprintf(fMergedFile,"%s\n\n",singleFileContent); fclose(fSingleFile); } fclose(fTempFile); fclose(fMergedFile); //生成删除临时文件的命令 strcpy(singleFile,"rm "); strcat(singleFile,tempFile); system(singleFile);//删除临时文件 if(fileNum==0) printf("\n查询无结果!\n\n"); else printf("\n%d个文件已合并输出到%s下!\n\n",fileNum,mergedFile); } return 0;}
- 结果如图
0 0
- C语言代码合并神器for Mac
- C语言代码计算神器for Mac
- C语言代码搜索神器for Mac
- C语言文件提取神器for Mac
- C语言删除单个代码的注释for Mac
- C语言删除文件夹下所有代码的注释for Mac
- C语言扫雷游戏for Mac
- mac 如何运行c语言代码
- TextExpander for Mac 5.1 简体中文版 MAC 下输入增强神器
- C语言合并排序
- 【C语言】合并排序。
- c语言:字符串合并
- C语言合并数组
- C语言:合并数组
- WebStorm for Mac 2016.2 Wen 前端开发神器
- C语言10个基础代码(三重for循环)
- C语言实现合并排序
- C语言:非减链表的合并
- java/android 设计模式学习笔记(10)---建造者模式
- Codeforces Round #358 (Div. 2)
- Fragment重叠问题引发的思考
- Hadoop计算框架shuffle过程详解
- cs231学习笔记二 线性分类器、SVM、Softmax
- C语言代码合并神器for Mac
- LeetCode 63. Unique Paths II
- myEclipse中的web项目直接引入到eclipse中运行
- 二叉搜索树
- hibernate笔记
- 线程同步(计时器)
- SecureCRT 连接虚拟机Linux
- SpringMvc Eclipse搭建web项目
- C语言代码计算神器for Mac