手机
当前位置:查字典教程网 >编程开发 >C语言 >c语言全盘搜索指定文件的实例代码
c语言全盘搜索指定文件的实例代码
摘要:复制代码代码如下:#include#includevoidFindFile(char*,char*);intcount=0;//统计文件数c...

复制代码 代码如下:

#include<stdio.h>

#include<windows.h>

void FindFile(char* ,char* );

int count=0;//统计文件数

char fname[32];

#define BUFSIZE 256

int main(int argc,char* argv[])

{

char szLogicalDriveStrings[BUFSIZE];

DWORD iLength;

int iSub;

printf("请输入要搜索的文件名:");

scanf("%s",fname);

ZeroMemory(szLogicalDriveStrings, BUFSIZE);

iLength = GetLogicalDriveStringsA(BUFSIZE-1, szLogicalDriveStrings);

for(iSub=0; iSub<iLength; iSub+=4)

{

//如果不是固定磁盘驱动器:本地硬盘或移动硬盘,忽略

if(GetDriveType(szLogicalDriveStrings+iSub)!=3)

continue;

FindFile(szLogicalDriveStrings+iSub,"*.*");

}

printf("一共发现%d个文件...n",count);

scanf("%*d");

return 0;

}

void FindFile(char* pfilename,char* pfilter)

{

WIN32_FIND_DATA findfiledate;

HANDLE hfind;

char filename[512];

char lpFileName[512];

char _lpFileName[512];

int i;

int result;

for(i=0;*(pfilename+i)!='';i++)

filename[i]=*(pfilename+i);

filename[i]='';

//如果最后一个字符不是''

if(filename[strlen(filename)-1]!='')

strcat(filename,""); //添加''

strcpy(lpFileName,filename);

strcat(lpFileName,pfilter);

hfind=FindFirstFile(lpFileName,&findfiledate);

if(hfind==INVALID_HANDLE_VALUE)

return;

do

{

//如果不是目录

if(!(findfiledate.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))

{

//如果找到指定文件

if(0==strcmp(fname,findfiledate.cFileName))

{

printf("%s%sn",filename,findfiledate.cFileName);

count++;

}

}

//如果是目录

else

{

//.和..不输出

if(findfiledate.cFileName[0]!='.')

{

strcpy(_lpFileName,filename);

strcat(_lpFileName,findfiledate.cFileName);

FindFile(_lpFileName,pfilter); //递归

}

}

}while(FindNextFile(hfind,&findfiledate));//FindNextFile返回为真,继续搜索

FindClose(hfind);

return;

}

c语言全盘搜索指定文件的实例代码1

c语言全盘搜索指定文件的实例代码2

使用递归来搜索文件,效率低,使用多线程效果更好。

【c语言全盘搜索指定文件的实例代码】相关文章:

让应用程序只运行一个实例的实现方法

C++中返回指向函数的指针示例

C 语言基础教程(我的C之旅开始了)[五]

基于c语言知识点的补遗介绍

C语言小程序 计算第二天日期示例代码

c语言中十六进制转二进制显示的实现方法

C++读写.mat文件的方法

C语言函数的递归和调用实例分析

Linux C 获取进程退出值的实现代码

C语言小程序 杨辉三角示例代码

精品推荐
分类导航