window和linux下遍历目录的比较
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下遍历目录的比较相关推荐
- linux下遍历目录树方法总结,linux下遍历目录树方法总结(下)
2.使用ftw调用遍历目录 2.1ftw函数族 使用readdir函数等实现递归遍历目录树的方法比较原始,glibc2.1收录了ftw等函数,可以方便实现目录树的遍历. #include intftw ...
- Linux下遍历目录下的文件
方法1: http://tag.csdn.net/Article/ef431d9b-68b3-419f-9f85-1fb9279f904a.html //ListFile.cpp #include & ...
- linux 怎么禁止遍历目录,linux下遍历目录功能实现
/* 编译: dir:dir.c gcc -o $@ $< */ #include #include #include #include #include int do_search_dir(c ...
- Linux下遍历指定目录的C++实现
之前在 https://blog.csdn.net/fengbingchun/article/details/51474728 给出了在Windows遍历指定文件夹的C++实现,这里给出在Linux下 ...
- 在Linux下和Windows下遍历目录的方法及如何达成一致性操作
最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...
- 递归遍历Linux下的目录文件源码实现
网上搜到的结果大都不令人满意,这里综合了网上的结构,做了小许改动.希望对大家有帮助. 在Linux下的目录结构操作基本上使用opendir,readdir,closedir就够了. #include ...
- Linux下遍历文件夹的实现
转自:http://blog.csdn.net/wallwind/article/details/7528474 linux C 遍历目录及其子目录 #include <stdio.h> ...
- linux 下遍历文件夹下的所有文件
linux C 遍历目录及其子目录 #include <stdio.h> #include <string.h> #include <stdlib.h> #in ...
- linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小
df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Siz ...
最新文章
- recyclerview 滑动到当前_Android recyclerview的滑动到指定的item
- MYSQL:多表联合查询的例子
- Java程序员必备基础:Java代码是怎么运行的?
- 在数据库技术中脏数据是指_数据库安全关键技术之数据库加密技术
- boost::hana::adjust_if用法的测试程序
- vscode setting json_win10+letex+vscode+texlive+latex workshop+sumatrapdf
- linux 空间不够了,怎么办?Disk Requirements:At least 11MB more space needed on the / filesystem....
- eclipse 插件扩展新建java页面_java-Eclipse插件:创建动态菜单和相应的处理...
- php 中 stream_select 中的小窟窿.
- jq使用教程04_高校版教程
- LayaAir 对象池 laya.utils.Pool
- 微信撤回软件安卓版_微信强制撤回软件下载-微信强制撤回消息工具(不限时间)v1.0安卓版_5577安卓网...
- idea2017破解教程
- 计算机网络13--网络应用的体系结构
- 计算机绘画小房子教案,小班美术教案小房子
- 在Windows 7和Vista中禁用程序兼容性助手
- 全面了解Qtum节点端口配置,立即加入全节点激励计划
- web项目修改favicon.ico图标
- Mysql 中使用UUID做为主键,去掉- 横线
- 一个比较全的C++农历算法
热门文章
- css selector list
- ASP.NET MVC3书店--第九节 注册与下订单(第一部分)(转)
- ASP.NET验证码C#
- python基础知识选择题-99道经典练习题助你全面掌握python基础知识,附技巧答案...
- python零基础入门教程学习要多久-廖雪峰python教程要学多久-零基础学Python需要多久...
- python代码需要背吗-20个Python代码段,你需要立刻学会,好用到哭!
- python学到什么程度可以做兼职-Python学到什么程度可以面试工作(解答一)
- python电脑下载网址-Python
- python语言中文社区-python语言中文
- python找工作难吗-为什么我不建议你通过 Python 去找工作?