现在的位置: 首页 > 综合 > 正文

查找指定文件夹下的文件

2018年08月04日 ⁄ 综合 ⁄ 共 1882字 ⁄ 字号 评论关闭

#include<iostream>
#include<io.h>
using namespace std;

/**********************
_finddata_t结构体:
struct _finddata_t {
 unsigned  attrib ;
 time_t  time_create ;
 time_t  time_access ;
 time_t  time_write ;
 _fsize_t  size ;
 char name [260] ;
}
**********************/

void main()
{
    _finddata_t file;
    long lf;
    if((lf = _findfirst("C://WINDOWS//*.INI",&file))==-1l)//_findfirst返回的是long型;long __cdecl _findfirst(const char *, struct _finddata_t *)
        cout<<"文件没有找到!/n";
    else
    {
        cout<<"/n文件列表:/n";
  do {
            cout<<file.name;
            if(file.attrib == _A_NORMAL)cout<<"  普通文件  ";
            else if(file.attrib == _A_RDONLY)cout<<"  只读文件  ";
            else if(file.attrib == _A_HIDDEN )cout<<"  隐藏文件  ";
            else if(file.attrib == _A_SYSTEM )cout<<"  系统文件  ";
            else if(file.attrib == _A_SUBDIR)cout<<"  子目录  ";
            else cout<<"  存档文件  ";
            cout<<endl;
        }while( _findnext( lf, &file ) == 0 );
    }
 _findclose(lf);
}

/************************************************************************
  int findfirst(char   *pathname,struct   ffblk   *ffblk,int   attrib)    
  查找指定的文件,成功返回0.pathname为指定的目录名和文件名,如"C://WPS//TXT",ffblk为指定的保存文件信息的一个结构,定义如下:    
      struct   ffblk     {      
            char   ff_reserved[21];   /*DOS保留字    
            char   ff_attrib;               /*文件属性      
            int     ff_ftime;                 /*文件时间     
            int     ff_fdate;                 /*文件日期       
  long   ff_fsize;                 /*文件长度    
  char   ff_name[13];           /*文件名         
          }                                                                        
            attrib为文件属性,由以下字符代表    
          FA_RDONLY   只读文件               FA_LABEL     卷标号    
          FA_HIDDEN   隐藏文件                 FA_DIREC     目录        
          FA_SYSTEM   系统文件                 FA_ARCH       档案        
          例:    
          struct   ffblk   ff;    
          findfirst("*.wps",&ff,FA_RDONLY);    
   
  int findnext(struct   ffblk   *ffblk) 取匹配finddirst的文件,成功返回0   

抱歉!评论已关闭.