怎么用c语言输入一个文件名的某些关键字,就可以自动在某个盘里面搜索其是否存在?最好能用二分法实现

2025-03-23 22:07:34
推荐回答(2个)
回答1:

这个最适合用递归函数来写,代码如下请参考:

#include 
#include 
#include 
int findFile(char *dir,char *pstr)
{
    char tmp[512];
    struct _finddata_t fd;
    sprintf(tmp,"%s\\*.*",dir);
    long handle = _findfirst(tmp,&fd);
    do{
        if (fd.attrib == _A_SUBDIR)
        {
            sprintf(tmp, "%s\\%s", dir, fd.name);
            findFile(tmp, pstr);//子目录就递归调用
        }
        else
        {
            if(strstr(fd.name, pstr))//文件就根据名字查找关键字符
                printf("%s\\%s\n", dir, fd.name);//显示已经找到
        }
    }while(!_findnext(handle, &fd));
    _findclose(handle);
    return 0;
}

int main()
{
    //列出D盘(包括子目录)文件名有aaa字母的文件
    findFile("D:","aaa");
    return 0;
}

回答2:

这个我也不是很清楚,我只知道EXCEL.WO---