📄 搜索指定文件.txt
字号:
void main(void)
{
char directory[]="d:";
int count;
count=viewfiles(directory); //调用viewfiles函数
if(count>0) //判断返回值
printf("共发现%d个同名文件.\n",count);
else
printf("没有找到您需要的文件\n",directory);
getch();
}
int viewfiles(char *directory) //遍历文件函数
{
WIN32_FIND_DATA fdFindData;
HANDLE hFind;
char *filename;
int count=0;
BOOL done;
filename=new char[strlen(directory)+5]; //给filename分配directory+5 个空间
strcpy(filename,directory); //将directory中的字符复制到filename中
strcat(filename,"\\*.*"); //将filename与\\*.*连接
hFind=FindFirstFile(filename,&fdFindData); //根据filename来查找文件,返回搜索句柄给hFind
delete[] filename; //释放内存
done=hFind!=INVALID_HANDLE_VALUE;
while(done) //这里给出一个循环条件hFind!=INVALID_HANDLE_VALUE
{
if(strcmp(fdFindData.cFileName,".") && strcmp(fdFindData.cFileName,"..")) //判断是当前目录或上一级目录
{
filename=new char[strlen(directory)+strlen(fdFindData.cFileName)+2]; //给filename分配空间
strcpy(filename,directory); //把directory复制给filename
strcat(filename,"\\"); //把filename加上“\\”
strcat(filename,fdFindData.cFileName); //把filename加上文件名
if((fdFindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)==FILE_ATTRIBUTE_DIRECTORY)
count+=viewfiles(filename); //如果找到的是目录,则进入目录进行递归
else
if(strstr(fdFindData.cFileName,"搜索文件名.exe")) //调用比较函数
{
count++;
printf("文件路径%s\n",filename);
}
delete[] filename; //释放内存
}
done=FindNextFile(hFind,&fdFindData); //寻找下一个文件
}
FindClose(hFind);
return(count);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -