这篇文章主要介绍了C语言按关键字搜索文件夹中文件的方法,涉及C语言文件操作及字符串查找的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C语言按关键字搜索文件夹中文件的方法。分享给大家供大家参考。具体实现方法如下:
方法1:
- #include<iostream>
- #include<string>
- #include<io.h>
- using namespace std;
- void filesearch(string path,string mode)
- {
- struct _finddata_t filefind;
- if(path[path.size()-1]=='//')
- path.resize(path.size()-1);
- string curr=path+"//*.*";
- int done=0,handle;
- if((handle=_findfirst(curr.c_str(),&filefind))==-1)
- return;
- while(!(done=_findnext(handle,&filefind)))
- {
- if(!strcmp(filefind.name,".."))
- continue;
- curr=path+"//"+filefind.name;
- if(strstr(filefind.name,mode.c_str()))
- cout<<curr<<endl;
- if (_A_SUBDIR==filefind.attrib)
- filesearch(curr,mode);
- }
- _findclose(handle);
- }
- void main()
- {
- string path,mode;
- cout<<"请输入要搜的目录"<<endl;
- cin>>path;
- cout<<"请输出包含字符"<<endl;
- cin>>mode;
- filesearch(path,mode);
- }
方法2:
- #include<stdio.h>
- #include<string.h>
- #include<dir.h>
- #define SIZE 12
- void find_creat_file(char *);
- int main(void)
- {
- char filename[SIZE];
- strcpy(filename,"filename");
- find_creat_file(filename);
- getch();
- return 0;
- }
- void find_creat_file(char *filename)
- {
- struct ffblk ffblk;
- int done;
- done=findfirst("d://filename",&ffblk,0);
- if(done==0)
- return 0;
- else
- mkdir("d://filename");
- }
希望本文所述对大家的C语言程序设计有所帮助。
新闻热点
疑难解答