最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c語(yǔ)言全盤(pán)搜索指定文件的實(shí)例代碼

 更新時(shí)間:2013年03月13日 23:28:46   作者:  
c語(yǔ)言全盤(pán)搜索指定文件的實(shí)例代碼,需要的朋友可以參考一下

復(fù)制代碼 代碼如下:

#include<stdio.h>
#include<windows.h>

void FindFile(char* ,char* );
int count=0;//統(tǒng)計(jì)文件數(shù)
char fname[32];
#define BUFSIZE 256
int main(int argc,char* argv[])
{
        char szLogicalDriveStrings[BUFSIZE];
    DWORD iLength;
    int iSub;
    printf("請(qǐng)輸入要搜索的文件名:");
    scanf("%s",fname);
    ZeroMemory(szLogicalDriveStrings, BUFSIZE);
    iLength = GetLogicalDriveStringsA(BUFSIZE-1, szLogicalDriveStrings);
    for(iSub=0; iSub<iLength; iSub+=4)
    {
    //如果不是固定磁盤(pán)驅(qū)動(dòng)器:本地硬盤(pán)或移動(dòng)硬盤(pán),忽略
      if(GetDriveType(szLogicalDriveStrings+iSub)!=3)
            continue;
    FindFile(szLogicalDriveStrings+iSub,"*.*");
    }
    printf("一共發(fā)現(xiàn)%d個(gè)文件...\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)!='\0';i++)
          filename[i]=*(pfilename+i);
    filename[i]='\0';
    //如果最后一個(gè)字符不是'\'
    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%s\n",filename,findfiledate.cFileName);
                 count++;
            }
        }
        //如果是目錄
        else
        {
            //.和..不輸出
            if(findfiledate.cFileName[0]!='.')
            {
                strcpy(_lpFileName,filename);
                strcat(_lpFileName,findfiledate.cFileName);
                FindFile(_lpFileName,pfilter);  //遞歸
            }
        }
    }while(FindNextFile(hfind,&findfiledate));//FindNextFile返回為真,繼續(xù)搜索
    FindClose(hfind);
    return;
}

 

使用遞歸來(lái)搜索文件,效率低,使用多線程效果更好。

 

相關(guān)文章

  • C語(yǔ)言 動(dòng)態(tài)內(nèi)存分配詳解

    C語(yǔ)言 動(dòng)態(tài)內(nèi)存分配詳解

    這篇文章主要介紹了C語(yǔ)言 動(dòng)態(tài)內(nèi)存分配詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++使用HDF5庫(kù)實(shí)現(xiàn)將h5圖像轉(zhuǎn)為tif格式

    C++使用HDF5庫(kù)實(shí)現(xiàn)將h5圖像轉(zhuǎn)為tif格式

    這篇文章主要為大家詳細(xì)介紹了C++ 語(yǔ)言如何通過(guò)hdf5庫(kù)與gdal庫(kù)實(shí)現(xiàn)將.h5格式的多波段HDF5圖像批量轉(zhuǎn)換為.tif格式,有需要的可以參考一下
    2024-12-12
  • C++ Boost Atomic詳細(xì)講解

    C++ Boost Atomic詳細(xì)講解

    Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱
    2022-11-11
  • C語(yǔ)言之棧和堆(Stack && Heap)的優(yōu)缺點(diǎn)及其使用區(qū)別

    C語(yǔ)言之棧和堆(Stack && Heap)的優(yōu)缺點(diǎn)及其使用區(qū)別

    本篇文章主要介紹了什么是棧(Stack) 、什么是堆( Heap),以及棧和堆的優(yōu)缺點(diǎn),同時(shí)介紹了應(yīng)該什么時(shí)候使用堆和棧,有需要的朋友可以參考下
    2015-07-07
  • VC++ 中ListCtrl經(jīng)驗(yàn)總結(jié)

    VC++ 中ListCtrl經(jīng)驗(yàn)總結(jié)

    這篇文章主要介紹了VC++ 中ListCtrl經(jīng)驗(yàn)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • C++語(yǔ)言實(shí)現(xiàn)開(kāi)心消消樂(lè)

    C++語(yǔ)言實(shí)現(xiàn)開(kāi)心消消樂(lè)

    這篇文章主要為大家詳細(xì)介紹了C++語(yǔ)言實(shí)現(xiàn)開(kāi)心消消樂(lè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++新特性詳細(xì)分析基于范圍的for循環(huán)

    C++新特性詳細(xì)分析基于范圍的for循環(huán)

    C++11這次的更新帶來(lái)了令很多C++程序員期待已久的for?range循環(huán),每次看到j(luò)avascript,?lua里的for?range,心想要是C++能有多好,心里別提多酸了。這次C++11不負(fù)眾望,再也不用羨慕別家人的for?range了。下面看下C++11的for循環(huán)的新用法
    2022-04-04
  • 一篇文章帶你了解C語(yǔ)言內(nèi)存對(duì)齊

    一篇文章帶你了解C語(yǔ)言內(nèi)存對(duì)齊

    在單片機(jī)下使用C語(yǔ)言編程時(shí),內(nèi)存對(duì)齊的知識(shí)點(diǎn)必須掌握。掌握內(nèi)存對(duì)齊后,可以防止內(nèi)存碎片化,并且證明你有能力優(yōu)化內(nèi)存。嵌入式單片機(jī)開(kāi)發(fā)的后階段,無(wú)非就是優(yōu)化內(nèi)存與優(yōu)化代碼執(zhí)行效率。
    2021-08-08
  • C++超詳細(xì)講解逗號(hào)操作符

    C++超詳細(xì)講解逗號(hào)操作符

    使用逗號(hào)運(yùn)算符是為了把幾個(gè)表達(dá)式放在一起。整個(gè)逗號(hào)表達(dá)式的值為系列中最后一個(gè)表達(dá)式的值。從本質(zhì)上講,逗號(hào)的作用是將一系列運(yùn)算按順序執(zhí)行
    2022-05-05
  • C++實(shí)現(xiàn)簡(jiǎn)單職工管理系統(tǒng)

    C++實(shí)現(xiàn)簡(jiǎn)單職工管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++職工管理系統(tǒng)實(shí)訓(xùn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評(píng)論

和林格尔县| 金华市| 新乡县| 长春市| 碌曲县| 新津县| 舒城县| 邵东县| 汉沽区| 曲阳县| 许昌市| 鹤庆县| 枣强县| 武汉市| 襄垣县| 玉山县| 浮山县| 霍城县| 洪洞县| 江源县| 柯坪县| 新晃| 天水市| 东丰县| 天祝| 曲水县| 绵阳市| 河北省| 东安县| 郧西县| 田林县| 迁安市| 平舆县| 香港 | 竹北市| 陇南市| 汪清县| 金沙县| 时尚| 邻水| 木里|