C语言按关键字搜索文件夹中文件的方法
本文实例讲述了C语言按关键字搜索文件夹中文件的方法。分享给大家供大家参考。具体实现方法如下:
方法1:
#include<iostream>
#include<string>
#include<io.h>
usingnamespacestd;
voidfilesearch(stringpath,stringmode)
{
struct_finddata_tfilefind;
if(path[path.size()-1]=='\\')
path.resize(path.size()-1);
stringcurr=path+"\\*.*";
intdone=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);
}
voidmain()
{
stringpath,mode;
cout<<"请输入要搜的目录"<<endl;
cin>>path;
cout<<"请输出包含字符"<<endl;
cin>>mode;
filesearch(path,mode);
}
方法2:
#include<stdio.h>
#include<string.h>
#include<dir.h>
#defineSIZE12
voidfind_creat_file(char*);
intmain(void)
{
charfilename[SIZE];
strcpy(filename,"filename");
find_creat_file(filename);
getch();
return0;
}
voidfind_creat_file(char*filename)
{
structffblkffblk;
intdone;
done=findfirst("d:\\filename",&ffblk,0);
if(done==0)
return0;
else
mkdir("d:\\filename");
}
希望本文所述对大家的C语言程序设计有所帮助。