zoukankan      html  css  js  c++  java
  • [C]遍历目录下所有文件

    #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<<"打开写文件失败! ";
    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<<"该目录不存在! ";
    fprintf(fp,"该目录不存在! ");
    }
    else
    {
    while(_findnext(lf,&file)==0)
    {
    if(file.name[2]==0)continue;
    cout<<file.name<<" ";
    fprintf(fp,"%s ",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 ",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,"文件夹 ");
    strcpy(name1,name);
    name[strlen(name)-3]='';//最后三个字符去掉
    name=strcat(name,file.name);//
    name=strcat(name,"\*.*");
    cout<<endl<<name<<endl;
    //fprintf(fp," %s ",name1);
    traval(name);
    strcpy(name,name1);
    }
    else
    {
    cout<<endl;
    fprintf(fp," ");
    }
    }
    }
    _findclose(lf);
    }

  • 相关阅读:
    shell while-ssh
    webpack 4x版本 安装后提示错误
    vuejs跨域请求解决方法
    前端开发工程师常用的网站
    微信小程序手机号快速填写及会员卡开卡组件开放
    div css左边固定右边自适应布局
    Javascript面向对象篇
    web 前端篇:web前端到底是什么?有前途吗 ?
    js页面滚动时层智能浮动定位实现:
    谈一谈jquery中的事件处理
  • 原文地址:https://www.cnblogs.com/sylar120/p/3578544.html
Copyright © 2011-2022 走看看