/* 功能:查找指定文件夹下的文件 2007.8.1 */ #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 **************************************************************************/

评论