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