遍历目录下的所有文件(文件)
前情提要
文件内容结构
本地文件夹
代码实现
#include <stdio.h>
#include<io.h>
#include<string.h>
#define MaxSize 100//这里是目录底下最多的文件数量设置,文件数量设置要多余等于实际情况,不然不能全部出来
int Function(char *,char *);//文件夹遍历函数
void Connect(char*,char*,char*);//字符串连接函数void main()
{char a[50]="";char b[6]="\\*.*"; // *.*代表全部类型的文件,类似的 *.txt则代表txt类型的文件printf("输入文件夹位置:");scanf("%s",a); //输入你要遍历的目录printf("文件夹中的所有文件如下:\n");Function(a,b); //调用遍历文件夹的函数
}int Function(char *a,char *b){ //文件夹遍历函数char c[100],*p1,*p2;int i;p1=c;Connect(a,b,p1);struct _finddata_t file;long fHandle;if( (fHandle=_findfirst(c, &file ))==-1L ){printf( "当前目录下没有文件\n");return 0;}elsedo{if (file.attrib & _A_SUBDIR){//判断是否为"."当前目录,".."上一层目录if ((strcmp(file.name, ".") != 0) && (strcmp(file.name, "..") != 0)){char newPath[100];p2=newPath;Connect(a,"\\",p2);//函数执行完成后p2仍指向newPath[0]for(int i=0;newPath[i]!='\0';i++){p2++;}//移动指针Connect("",file.name,p2);Function(newPath,b);//递归调用}}else{char b1[MaxSize];//用来存放文件的具体位置,注意需要大量的空间int j=0;for(i=0;a[i]!='\0';i++)b1[j++]=a[i];b1[j++]='\\';for(i=0;file.name[i]!='\0';i++)b1[j++]=file.name[i];b1[j]='\0';printf("%s\n",b1); }}while( _findnext(fHandle,&file)==0 );_findclose( fHandle );return 0;
}void Connect(char* str1, char* str2, char* p)
{ //字符串连接函数int i = 0;while(*str1 != '\0'){*p = *str1;str1++;p++;}while(*str2!='\0'){*p = *str2; str2++;p++;}*p = '\0';//收尾结束
}
输出
遍历目录下的所有文件(文件)相关推荐
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- os.walk 遍历目录下目录和文件
python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入 要使用os.walk,首先要载入该函数 可以使用以下两种方法 import os ...
- php 遍历 目录,PHP采用自定义函数实现遍历目录下所有文件的方法
目录的遍历是PHP程序设计中经常会用到的一个功能,很多PHP项目都有这一功能模块.今天本文就来实例解析一下PHP采用自定义函数实现遍历目录下所有文件的方法.具体方法如下: 方法一:使用readir() ...
- [Windowns C]递归遍历指定目录下的子目录和文件
/* 功能:演示了利用C语言递归遍历指定目录下的子目录和文件! 说明:经修改也可以搜索文件名符合特定格式的文件,如修改"\\*.*"为"\\*.log" */ ...
- windows遍历目录下所有文件
From: http://blog.csdn.net/benbon/article/details/1911230 在windows中遍历目录下的所有文件主要是使用FindFirstFile和Find ...
- java 递归 遍历目录下的所有文件
public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...
- 递归 遍历目录下的所有文件
public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...
- Python遍历目录下的文件(os.walk 、os.listdir的用法)
Python遍历目录下的文件(os.walk .os.listdir的用法) 最近想从一个目录转移一些文件到另外一个目录,因为文件有指定的后缀,所以想着用python来转移,不做cv工程师,那就涉及到 ...
- linux sed 目录递归,shell递归遍历目录下的所有文件并统一改名的方法-文件更名...
对Linux开发技术感兴趣或者是从事Linux开发技术的小伙伴是否知道如何把某个目录下的每个文件统一在名字前加上"abc",用shell实现呢?下面就随Linux培训小编来了解一下 ...
- File类(常用方法、遍历目录下的文件、listFiles()方法和删除文件及目录)
File类 File类的常用方法 Filie类常用的构造方法 File(String pathname) //通过指定的一个字符串类型的文件路径来创建一个新的File对象 File(String pa ...
最新文章
- hihocoder offer收割编程练习赛11 B 物品价值
- hexo 博客框架 可用作知识库
- 覆盖你 80 % 网络生活的,竟是这样一家神秘实验室
- Spring boot指定日志配置
- leetcode150. 逆波兰表达式求值
- 2018年五大最佳前端框架比较,程序员会怎么选?
- ipv6寻址_有类和无类寻址:IPV4寻址| 计算机网络
- android 获取网卡mac_android 获取MAC地址
- 14.docker volumn
- matlab电力建模仿真软件,MATLAB/Simulink电力系统建模与仿真
- Unity3D AI:导航系统-导航网格生成
- Java性能优化的35个细节(珍藏版)
- KMP字符串匹配算法
- python定义一个复数类complex、内有两个成员变量_编写程序,创建一个复数类Complex,它有两个实型成员变量Real和Virtual,代表复数的实数和虚数。...
- 修改linux系统的root用户密码,linux系统下修改root用户密码
- ListView中如何优化图片
- HAL库驱动NRF24L01实现数据传输
- 读懂matlab代码,一个Matlab的寻峰程序没有看懂,不知大家能否帮助?
- python 离群值 q1 q3_设第一分位数是Q1,第二分位数是Q2,第三分位数是Q3,那么四分位差(又称内距)则用 _________表示。_学小易找答案...
- JavaEE进阶总结
热门文章
- 女黑客登场:轻松破解APP,共享单车任我骑!
- Python语言程序设计 第七周 文件和数据格式化
- SQL Server新增字段并添加描述
- Milvus 在 AVX-512 与 AVX2 的性能对比
- mongodb数据的导入导出备份恢复_万金油_新浪博客
- ESP8266 WiFi模块和单片机,电脑连接
- Node.js连接MySQL数据库
- Sketch一站式设计开发工具 Dapollo插件 for mac v2.0.9破解版
- thymeleaf select 回显
- ssr提示服务器名无效_联想服务器在UEFI HII界面中配置阵列的基本操作