zoukankan      html  css  js  c++  java
  • 【VS开发】C语言遍历文件夹

    // StdCFIndAllFiles.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    
    
    #include <iostream>
    #include <windows.h>
    #include <cstring>
    
    using namespace std;
    
    void ListFile(char* szDir)
    
    {
        char  szTempDir[MAX_PATH+1];
        strcpy(szTempDir,szDir);
        strcat(szTempDir,"*");
        HANDLE  hFindFile;
        WIN32_FIND_DATA  FileData;
    
        hFindFile = FindFirstFile(szTempDir,&FileData);
    
        if( hFindFile == INVALID_HANDLE_VALUE )
        {
            return ;
        }
        else
        {
            do
            {
                if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
                    && strcmp(FileData.cFileName,".")
                    && strcmp(FileData.cFileName,".."))
    
                {
                    char szNewDir[MAX_PATH+1];
                    strcpy(szNewDir,szDir);
                    strcat(szNewDir,FileData.cFileName);
                    strcat(szNewDir,"\");
                    ListFile(szNewDir);
                }
                else
                {
                    cout<<szDir<<FileData.cFileName<<endl;
                }
            }
            while(FindNextFile(hFindFile,&FileData));       
            FindClose(hFindFile);
            return ;
        }
    
    }
    
    int main()
    {
        char   szPath[MAX_PATH+1];
        while(cin>>szPath)
        {
            if(szPath[strlen(szPath)-1]!='\')
                strcat(szPath,"\");
            ListFile(szPath);
        }
        return 0;
    }
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/huty/p/8518825.html
Copyright © 2011-2022 走看看