window下,遍历目录主要是用FindFirstFile和FindNextFile,而linux下是用opendir和readdir实现

void scanFile(char *szDir)
{WIN32_FIND_DATA FindFileData;char szFilePath[MAX_PATH];strncpy(szFilePath, szDir, strlen(szDir) + 1);strncat(szFilePath, "*", 2);HANDLE hFile = INVALID_HANDLE_VALUE;hFile = FindFirstFile(szFilePath, &FindFileData);if (hFile == INVALID_HANDLE_VALUE) {printf("FindFirstFile error\n");return ;}if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {if (strcmp(FindFileData.cFileName, ".") != 0 && strcmp(FindFileData.cFileName, "..") != 0) {char tmpPath[MAX_PATH];strncpy(tmpPath, szDir, strlen(szDir) + 1);strncat(tmpPath, FindFileData.cFileName, strlen(FindFileData.cFileName) + 1);strncat(tmpPath, "\\", 2);scanFile(tmpPath);}} else {printf("path:%s    fileName=%s\n", szDir, FindFileData.cFileName);}while (FindNextFile(hFile, &FindFileData) != 0) {if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {if (strcmp(FindFileData.cFileName, ".") != 0 && strcmp(FindFileData.cFileName, "..") != 0) {char tmpPath[MAX_PATH];strncpy(tmpPath, szDir, strlen(szDir) + 1);strncat(tmpPath, FindFileData.cFileName, strlen(FindFileData.cFileName) + 1);strncat(tmpPath, "\\", 2);scanFile(tmpPath);}} else {printf("path:%s    fileName=%s\n", szDir, FindFileData.cFileName);}}FindClose(hFile);}

linux下遍历 代码如下:

void scanFile(char *szDir)
{DIR *pDir = NULL;struct dirent *pFile = NULL;pDir = opendir(szDir);if (pDir == NULL) return;while ((pFile = readdir(pDir)) != NULL) {if (pFile->d_type & DT_DIR) {if (strcmp(pFile->d_name, ".") == 0 || strcmp(pFile->d_name, "..") == 0) continue;char Path[256];int len = strlen(szDir);strncpy(Path, szDir, len + 1);if (szDir[len - 1] != '/') strncat(Path, "/", 2);strncat(Path, pFile->d_name, strlen(pFile->d_name) + 1);scanFile(Path);} else {printf("path:%s     fileName:%s\n", szDir, pFile->d_name);}}closedir(pDir);
}

window和linux下遍历目录的比较相关推荐

  1. linux下遍历目录树方法总结,linux下遍历目录树方法总结(下)

    2.使用ftw调用遍历目录 2.1ftw函数族 使用readdir函数等实现递归遍历目录树的方法比较原始,glibc2.1收录了ftw等函数,可以方便实现目录树的遍历. #include intftw ...

  2. Linux下遍历目录下的文件

    方法1: http://tag.csdn.net/Article/ef431d9b-68b3-419f-9f85-1fb9279f904a.html //ListFile.cpp #include & ...

  3. linux 怎么禁止遍历目录,linux下遍历目录功能实现

    /* 编译: dir:dir.c gcc -o $@ $< */ #include #include #include #include #include int do_search_dir(c ...

  4. Linux下遍历指定目录的C++实现

    之前在 https://blog.csdn.net/fengbingchun/article/details/51474728 给出了在Windows遍历指定文件夹的C++实现,这里给出在Linux下 ...

  5. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

    最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

  6. 递归遍历Linux下的目录文件源码实现

    网上搜到的结果大都不令人满意,这里综合了网上的结构,做了小许改动.希望对大家有帮助. 在Linux下的目录结构操作基本上使用opendir,readdir,closedir就够了. #include ...

  7. Linux下遍历文件夹的实现

    转自:http://blog.csdn.net/wallwind/article/details/7528474 linux C 遍历目录及其子目录 #include <stdio.h> ...

  8. linux 下遍历文件夹下的所有文件

    linux C 遍历目录及其子目录 #include <stdio.h>  #include <string.h> #include <stdlib.h>  #in ...

  9. linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小

    df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Siz ...

最新文章

  1. recyclerview 滑动到当前_Android recyclerview的滑动到指定的item
  2. MYSQL:多表联合查询的例子
  3. Java程序员必备基础:Java代码是怎么运行的?
  4. 在数据库技术中脏数据是指_数据库安全关键技术之数据库加密技术
  5. boost::hana::adjust_if用法的测试程序
  6. vscode setting json_win10+letex+vscode+texlive+latex workshop+sumatrapdf
  7. linux 空间不够了,怎么办?Disk Requirements:At least 11MB more space needed on the / filesystem....
  8. eclipse 插件扩展新建java页面_java-Eclipse插件:创建动态菜单和相应的处理...
  9. php 中 stream_select 中的小窟窿.
  10. jq使用教程04_高校版教程
  11. LayaAir 对象池 laya.utils.Pool
  12. 微信撤回软件安卓版_微信强制撤回软件下载-微信强制撤回消息工具(不限时间)v1.0安卓版_5577安卓网...
  13. idea2017破解教程
  14. 计算机网络13--网络应用的体系结构
  15. 计算机绘画小房子教案,小班美术教案小房子
  16. 在Windows 7和Vista中禁用程序兼容性助手
  17. 全面了解Qtum节点端口配置,立即加入全节点激励计划
  18. web项目修改favicon.ico图标
  19. Mysql 中使用UUID做为主键,去掉- 横线
  20. 一个比较全的C++农历算法

热门文章

  1. css selector list
  2. ASP.NET MVC3书店--第九节 注册与下订单(第一部分)(转)
  3. ASP.NET验证码C#
  4. python基础知识选择题-99道经典练习题助你全面掌握python基础知识,附技巧答案...
  5. python零基础入门教程学习要多久-廖雪峰python教程要学多久-零基础学Python需要多久...
  6. python代码需要背吗-20个Python代码段,你需要立刻学会,好用到哭!
  7. python学到什么程度可以做兼职-Python学到什么程度可以面试工作(解答一)
  8. python电脑下载网址-Python
  9. python语言中文社区-python语言中文
  10. python找工作难吗-为什么我不建议你通过 Python 去找工作?