#include<iostream>
#include<string.h>
#include<io.h>
FILE *fp;
using namespace std;
void traval(char name[]);//遍历一个目录
//int i=0;
void main()
{
if((fp=fopen("data.txt","w"))==NULL)
{
cout<<"打开写文件失败!\n";
return;
}
char name[250]="D:\\Code\\Pic\\*.*";
traval(name);
fclose(fp);
}
void traval(char name[])//遍历一个目录
{
char name1[250];
_finddata_t file;
long lf;
if((lf=_findfirst(name,&file))==-1l)
{
cout<<"该目录不存在!\n";
fprintf(fp,"该目录不存在!\n");
}
else
{
while(_findnext(lf,&file)==0)
{
if(file.name[2]==0)continue;
cout<<file.name<<"\t";
fprintf(fp,"%s\t",file.name);
if(file.attrib==0)
{
cout<<"正常 ";
fprintf(fp,"正常 ");
}
if((file.attrib%2)==1)
{
cout<<"只读 ";
fprintf(fp,"只读 ");
}
if((file.attrib==2)||(file.attrib==3)||(file.attrib==6)||(file.attrib==7)||
(file.attrib==18)||(file.attrib==19)||(file.attrib==22)||(file.attrib==23)||
(file.attrib==34)||(file.attrib==35)||(file.attrib==38)||(file.attrib==39)||
(file.attrib==50)||(file.attrib==51)||(file.attrib==54)||(file.attrib==55))
{
fprintf(fp,"%s\t",file.name);
cout<<"隐藏 ";
fprintf(fp,"隐藏 ");
}
if((file.attrib==4)||(file.attrib==5)||(file.attrib==6)||(file.attrib==7)||
(file.attrib==20)||(file.attrib==21)||(file.attrib==22)||(file.attrib==23)||
(file.attrib==36)||(file.attrib==37)||(file.attrib==38)||(file.attrib==39)||
(file.attrib==52)||(file.attrib==53)||(file.attrib==54)||(file.attrib==55))
{
cout<<"系统 ";
fprintf(fp,"系统 ");
}
if((file.attrib>=32&&file.attrib<=55))
{
cout<<"存档 ";
fprintf(fp,"存档 ");
}
if((file.attrib>=16&&file.attrib<=23)||(file.attrib>=48&&file.attrib<=55))
{
cout<<"文件夹 ";
cout<<endl;
fprintf(fp,"文件夹\n");
strcpy(name1,name);
name[strlen(name)-3]='\0';//最后三个字符去掉
name=strcat(name,file.name);//
name=strcat(name,"\\*.*");
cout<<endl<<name<<endl;
//fprintf(fp,"\n%s\n",name1);
traval(name);
strcpy(name,name1);
}
else
{
cout<<endl;
fprintf(fp,"\n");
}
}
}
_findclose(lf);
}

[C]遍历目录下所有文件的更多相关文章

  1. Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例

    遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...

  2. (实用篇)PHP不用递归遍历目录下所有文件的代码

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...

  3. Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】

    File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...

  4. Linux和Windows的遍历目录下所有文件的方法对比

    首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...

  5. PHP遍历目录下的文件夹和文件 以及遍历文件下内容

    1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...

  6. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  7. shell编程--遍历目录下的文件

    假定目录text下有如下文件      目录:dir_1.dir_2.dir_3 文件:text_1.text_2 遍历目录下所有的文件是目录还是文件 if -- if类型: #!bin/sh for ...

  8. Java遍历目录下全部文件并替换指定字符串

    应用场景:比方有一个深层次的文件目录结构,如:javaAPI 每一个文件中面都有同样的内容,而我们要统一改动为其它内容.上千个文件假设一个个改动显得太不明智. import java.io.Buffe ...

  9. (转)PHP自定义遍历目录下所有文件dir(),readdir()函数

    方法一:使用dir()遍历目录 dir()函数,成功时返回Directory类实例 PHP dir() 语法格式为: dir(directory);//directory为需要显示文件名的目录名称,可 ...

  10. Python遍历目录下xlsx文件

    对指定目录下的指定类型文件进行遍历,可对文件名关键字进行条件筛选 返回值为文件地址的列表 import os # 定义一个函数,函数名字为get_all_excel,需要传入一个目录 def get_ ...

随机推荐

  1. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

    protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle ...

  2. Weblogic是瓦特?和JVM是瓦特关系?

    所谓固定内存60M是瓦特? 以下内容是个瓦特? “总内存大小=堆内存+非堆内存1200m:为堆内存大小,如果不指定后者参数则有最大数限制,网上很多文章认为这就是JVM内存,-Xmx为设置最大堆内存60 ...

  3. System.Data.OleDb操作access数据库类,【bubuko.com】

    access数据库在应用了System.Data.OleDb后操作会很方便,这是一个常用的数据库操作类,其中两个方法,一个是返回datatable的,一个是执行sql语句返回影响记录的(一般是inse ...

  4. Python多线程、进程入门1

    进程是资源的一个集合, 1.一个应用程序,可以有多进程和多线程 2.默认一个程序是单进程单线程 IO操作使用多线程提高并发 计算操作使用多进程提高并发 进程与线程区别 1.线程共享内存空间,进程的内存 ...

  5. 微信开发-ACCESS TOKEN 过期失效解决方案

    微信开发-ACCESS TOKEN 过期失效解决方案 起因:因为access_token的重要性,开发过微信的都知道,但是他有自己的生命周期,官方解释为:"有效期为7200秒",一 ...

  6. PHP手机,邮箱正则匹配

    /*此处用于验证手机*/ $phone_preg = '/^1[3|4|5|7|8]\d{9}$/'; $email_preg = '/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+) ...

  7. suspendlayout

    c# this.suspendlayout有什么作用 为了防止layout事件的发生.这个事件将引发重新绘图的事件,如果介面上控件较多的话,改变控件某些属性时,由于不断地重画,性能变低,所以用susp ...

  8. Thread.join简单介绍

    百度了一下,终于明白了.这个解释最简单: 前提:join()方法肯定是被某个线程调用的.   A线程正在执行,突然执行的时候碰到了B.join(), 那么,A线程就必须要等到B线程执行完之后才能执行. ...

  9. Interview

    下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能"以不变应万变". 回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了. 1.简述 ...

  10. KNN算法——python实现

    二.Python实现 对于机器学习而已,Python需要额外安装三件宝,分别是Numpy,scipy和Matplotlib.前两者用于数值计算,后者用于画图.安装很简单,直接到各自的官网下载回来安装即 ...