下面是个遍历文件目录的小程序,可供参考:
#include \"IO.H\"
enum FILEATTRIB{FA_DIR,FA_FILE,FA_ALL};
/*
FA_DIR: 只接受文件夹
FA_FILE: 只接受文件
FA_ALL:全部接受
*/
const char* SEP=\"\t\";
bool FileTest(ostream& os,string DirPath,FILEATTRIB fa,int deep=0)
{
_finddata_t findData;
long hFile;
string sz=\"\\*\";
if(fa==FA_FILE)
sz=\"\\*.*\";
string str=DirPath+sz;
hFile = _findfirst(str.c_str(), &findData);
if(!hFile)
{
os<<\"invalid path\"<<endl;
return false;
}
do
{
if(_A_SUBDIR&findData.attrib)
{
if(strcmp(findData.name,\".\")!=0 && strcmp(findData.name,\"..\")!=0)
{
if(FA_FILE!=fa)
{
for(int i=0;i<deep;i++)
{
os<<SEP;
}
os << findData.name << \" 文件夹已读取...\" << endl;
}
str=DirPath+\"\\\"+findData.name;
if(!FileTest(os,str,fa,deep+1))
return false;
}
}
else
{
if(FA_DIR!=fa)
{
for(int i=0;i<deep;i++)
{
os<<SEP;
}
os << findData.name << \" 文件已读取...\" << endl;
}
}
}while((long)_findnext(hFile, &findData) != -1);
_findclose(hFile);
return true;
}
void main()
{
ofstream os(\"D:\\1.txt\");
FileTest(os,\"E:\",FA_ALL);
os.close();
}
[此贴子已经被作者于2007-6-20 0:27:11编辑过]
" target="_blank">[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!