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

C語言實(shí)現(xiàn)遍歷文件夾中的文件

 更新時(shí)間:2024年02月20日 10:20:47   作者:crazybobo1207  
這篇文章主要為大家詳細(xì)介紹了如何使用C語言實(shí)現(xiàn)遍歷文件夾中的文件,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下

文件目錄如下,文件夾里還有一些txt文件未展示出來。

使用遞歸實(shí)現(xiàn),深度優(yōu)先遍歷文件夾中的文件。

代碼如下,用了一點(diǎn)C++的語法。

#include <io.h>
#include <iostream>  
using namespace std;
 
#define MAX_PATH_LENGTH 100
 
int Traverse(char dir[]);
 
int main()
{
    char dir[MAX_PATH_LENGTH] = "e:\\test\\*.*";
 
    Traverse(dir);
 
    return 0;
}
 
int Traverse(char dir[])
{
    intptr_t handle;
    _finddata_t findData;
 
    handle = _findfirst(dir, &findData);
    if (handle == -1)
    {
        cout << "no file exsit\n";
        return -1;
    }
 
    do
    {
        if ((findData.attrib & _A_SUBDIR) && (strcmp(findData.name, ".") != 0) && (strcmp(findData.name, "..") != 0))
        {
            //it is a directory
            cout << "subdir:" << findData.name << endl;
            char sub_dir[MAX_PATH_LENGTH] = { 0 };
            string s(dir);
            sprintf_s(sub_dir, "%s%s\\*.*", s.substr(0, s.length() - 3).c_str(), findData.name);
            Traverse(sub_dir);
        }
        else if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0)
        {
            //it is . or .. , do nothing
        }
        else
        {
            //it is a file
            cout << "file:" << findData.name << endl;
        }
    } while (_findnext(handle, &findData) == 0);
 
    _findclose(handle);
}

運(yùn)行結(jié)果如下:

到此這篇關(guān)于C語言實(shí)現(xiàn)遍歷文件夾中的文件的文章就介紹到這了,更多相關(guān)C語言遍歷文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解C語言之文件操作(上)

    詳解C語言之文件操作(上)

    這篇文章主要介紹了關(guān)于C語言文件操作方法的相關(guān)資料,小編覺得這篇文章寫的還不錯(cuò),需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-11-11
  • C語言實(shí)現(xiàn)斐波那契數(shù)列(非遞歸)的實(shí)例講解

    C語言實(shí)現(xiàn)斐波那契數(shù)列(非遞歸)的實(shí)例講解

    下面小編就為大家?guī)硪黄狢語言實(shí)現(xiàn)斐波那契數(shù)列(非遞歸)的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 一文詳解C++20新特性

    一文詳解C++20新特性

    本文主要介紹了一文詳解C++20新特性,包括模塊、協(xié)程、范圍、日期時(shí)區(qū)、格式化等并發(fā)等特性介紹,替代頭文件、提升編譯效率、支持異步邏輯、增強(qiáng)日期處理、類型安全格式化及簡化并發(fā)編程
    2026-06-06
  • c++調(diào)用python實(shí)現(xiàn)圖片ocr識別

    c++調(diào)用python實(shí)現(xiàn)圖片ocr識別

    所謂c++調(diào)用python,實(shí)際上就是在c++中把整個(gè)python當(dāng)作一個(gè)第三方庫引入,然后使用特定的接口來調(diào)用python的函數(shù)或者直接執(zhí)行python腳本,本文介紹的是調(diào)用python實(shí)現(xiàn)圖片ocr識別,感興趣的可以了解下
    2023-09-09
  • C++語言基礎(chǔ) this和static關(guān)鍵字

    C++語言基礎(chǔ) this和static關(guān)鍵字

    這篇文章主要介紹了C++語言基礎(chǔ) this和static關(guān)鍵字,需要的朋友可以參考下
    2020-01-01
  • C++之STL--string的使用

    C++之STL--string的使用

    這篇文章主要介紹了C++之STL--string的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • VC++操作SQLite簡單實(shí)例

    VC++操作SQLite簡單實(shí)例

    這篇文章主要介紹了VC++操作SQLite,很實(shí)用的功能,需要的朋友可以參考下
    2014-07-07
  • C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法

    C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法

    這篇文章主要介紹了C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法,涉及網(wǎng)絡(luò)程序設(shè)計(jì)與系統(tǒng)函數(shù)的使用,需要的朋友可以參考下
    2014-10-10
  • C++算法之在無序數(shù)組中選擇第k小個(gè)數(shù)的實(shí)現(xiàn)方法

    C++算法之在無序數(shù)組中選擇第k小個(gè)數(shù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++算法之在無序數(shù)組中選擇第k小個(gè)數(shù)的實(shí)現(xiàn)方法,涉及C++數(shù)組的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • C++運(yùn)算符重載的實(shí)現(xiàn)示例

    C++運(yùn)算符重載的實(shí)現(xiàn)示例

    本文主要介紹了C++運(yùn)算符重載的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12

最新評論

黄陵县| 汶川县| 肃宁县| 莱西市| 富平县| 怀远县| 东明县| 河北区| 建阳市| 修武县| 乌拉特中旗| 新龙县| 渭源县| 宣汉县| 天水市| 山丹县| 东兴市| 堆龙德庆县| 铁岭县| 汝城县| 保康县| 乃东县| 黄浦区| 镶黄旗| 阿合奇县| 宜昌市| 崇信县| 清水县| 阿城市| 三河市| 长沙县| 惠东县| 佛冈县| 龙井市| 昭觉县| 永安市| 桓仁| 万山特区| 嘉禾县| 博客| 乌鲁木齐县|