zoukankan      html  css  js  c++  java
  • C语言遍历文件和文件夹——————【Badboy】

    [cpp]

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #define MAX_PATH_LENGTH 512

      #define MAX_FILE_EXTENSION 9

      unsigned long visit_dirs = 0;

      unsigned long visit_files = 0;

      void listdir(char *path){

      DIR *ptr_dir;

      struct dirent *dir_entry;

      int i = 0;

      char *child_path;

      char *file_path;

      child_path = (char*)malloc(sizeof(char)*MAX_PATH_LENGTH);

      if(child_path == NULL){

      printf("allocate memory for path failed. ");

      return;

      }

      memset(child_path, 0, sizeof(char)*MAX_PATH_LENGTH);

      file_path = (char*)malloc(sizeof(char)*MAX_PATH_LENGTH);

      if(file_path == NULL){

      printf("allocate memory for file path failed. ");

      free(child_path);

      child_path = NULL;

      return;

      }

      memset(file_path, 0, sizeof(char)*MAX_PATH_LENGTH);

      ptr_dir = opendir(path);

      while((dir_entry = readdir(ptr_dir)) != NULL){

      if(dir_entry->d_type & DT_DIR){

      if(strcmp(dir_entry->d_name,".") == 0 ||

      strcmp(dir_entry->d_name,"..") == 0){

      continue;

      }

      sprintf(child_path, "%s/%s", path, dir_entry->d_name);

      printf("[DIR]%s ", child_path);

      visit_dirs++;

      listdir(child_path);

      }

      if(dir_entry->d_type & DT_REG){

      sprintf(file_path, "%s/%s", path, dir_entry->d_name);

      printf("[FILE]%s ", file_path);

      visit_files++;

      }

      }

      free(child_path);

      child_path = NULL;

      free(file_path);

      file_path = NULL;

      }

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

      if(argc == 2){

      listdir(argv[1]);

      printf("Total DIR: %ld, Total FILE: %ld ", visit_dirs, visit_files);

      }else{

      printf("Usage: listdir

    ");

      return;

      }

      return 0;

      }

  • 相关阅读:
    How do I access arcobjects from python?
    Win7 打开或关闭Windows功能 窗口空白 解决方案(ZZ)
    解释什么叫工作
    电脑城奸商最怕顾客知道的十条经验
    25岁前你要学会放下的八样东西
    必看十大电影
    SQL Server 中查询非中文,非英文,非数字的特殊列
    CHARINDEX 和 PATINDEX
    主流开源数据库的技术特点点评
    information_schema.routines与sysobjects
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7099919.html
Copyright © 2011-2022 走看看