C语言代码搜索神器for Mac
来源:互联网 发布:图像复原的数据集 编辑:程序博客网 时间:2024/05/20 05:09
- 程序功能
- 精确搜索一个文件夹中的所有子文件夹中的指定类型文件中的指定字符串,搜索到某个文件中存在指定字符串,则将此文件路径直接输出在终端上。
- 操作方法
- 用X-Code编译完成将可执行文件拖到桌面上双击打开后根据提示操作。
- 代码如下
#include<stdio.h>#include<stdlib.h>#include<string.h>int search(char a[],char searchString[]){ int i,j,k,t=strlen(searchString),s=strlen(a)-t; for(i=0;i<=s;i++) { for(j=i,k=0;k<t;k++,j++) { //忽略大小写判断单个字符是否一样,不一样则跳出 if(a[j]!=searchString[k]&&abs(a[j]-searchString[k])!=32)break; } if(k==t) return 1; } return 0;}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 searchString[1000]; /**文件的数量*/ int fileNum; int i; char ch; while(1) { printf("请拖入文件夹路径:"); scanf("%s",folderPath); printf("请输入要合并文件的后缀(如.c,.txt):"); scanf("%s",suffix); printf("请输入要查找的字符串(忽略大小写):"); scanf("%s",searchString); //生成不完整的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); fTempFile = fopen(tempFile,"r"); 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; if (search(singleFileContent,searchString)) { fileNum++; printf("\n%d:%s\n\n",fileNum,singleFile); } fclose(fSingleFile); } fclose(fTempFile); //生成删除临时文件的命令 strcpy(singleFile,"rm "); strcat(singleFile,tempFile); system(singleFile);//删除临时文件 if(fileNum==0) printf("\n查询无结果!\n\n"); } 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 下输入增强神器
- 搜索神器
- 搜索神器
- WebStorm for Mac 2016.2 Wen 前端开发神器
- 简称ag的the_silver_searcher介绍,搜索代码神器
- C语言10个基础代码(三重for循环)
- 二分搜索代码(c++)
- Emmet for Dreamweaver:HTML/CSS代码快速编写神器
- Emmet for Dreamweaver:HTML/CSS代码快速编写神器
- Emmet for Dreamweaver:HTML/CSS代码快速编写神器
- A* 寻路
- 软件开发生命周期的管理
- android五中方式调用服务service中的方法
- [Contest] THUSC 2016 解题报告
- tomcat java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListen
- C语言代码搜索神器for Mac
- JS交互的方法(下)WKWebView
- 大型网站架构架构及性能优化方案
- struts 笔记(王勇)
- JAVA利用HttpClient进行POST请求(HTTPS)
- 构造函数和析构函数
- LA 2995 Image Is Everything
- InfiniTAM解析(1)
- js中的preventDefault与stopPropagation详解