VC-获取文件夹中的指定类型的所有文件名和文件大小
2008-09-11 15:27
761 查看
typedef CList<long,long> LongList;
typedef CList<CString,CString&> StringList;
int GetFileList(CString path,CString ext,LongList& sizelist,StringList& namelist)
{
CString FileName;
WIN32_FIND_DATA fdata = {0};
BOOL bFinished = FALSE;
int nIndex = 0;
FileName = path + "*." + ext;
HANDLE hSearch = FindFirstFile(FileName.GetBuffer(0),&fdata);
if(hSearch == INVALID_HANDLE_VALUE)
return 0;
while(!bFinished)
{
if(!(fdata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
if (nIndex==0)
{
sizelist.AddHead((long)fdata.nFileSizeLow);
FileName.Format("%s%s",path,fdata.cFileName);
namelist.AddHead(FileName);
}
else
{
POSITION pos;
pos = sizelist.FindIndex(nIndex);
sizelist.InsertAfter(pos,(long)fdata.nFileSizeLow);
pos = namelist.FindIndex(nIndex);
FileName.Format("%s%s",path,fdata.cFileName);
namelist.InsertAfter(pos,FileName);
}
nIndex++;
}
if(!FindNextFile(hSearch, &fdata))
{
if (GetLastError() == ERROR_NO_MORE_FILES)
bFinished = TRUE;
}
}
FindClose(hSearch);
return nIndex;
}
取Long型CList列表中的最大值的索引:
int GetMaxFileIndex(LongList& sizelist,int nCount)
{
int nIndex = 0;
long nValMax = sizelist.GetHead();
for(int i=1;i<nCount;i++)
{
long nVal = sizelist.GetAt(sizelist.FindIndex(i));
if(nVal > nValMax){
nValMax = nVal;
nIndex = i;
}
}
return nIndex;
}
typedef CList<CString,CString&> StringList;
int GetFileList(CString path,CString ext,LongList& sizelist,StringList& namelist)
{
CString FileName;
WIN32_FIND_DATA fdata = {0};
BOOL bFinished = FALSE;
int nIndex = 0;
FileName = path + "*." + ext;
HANDLE hSearch = FindFirstFile(FileName.GetBuffer(0),&fdata);
if(hSearch == INVALID_HANDLE_VALUE)
return 0;
while(!bFinished)
{
if(!(fdata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
if (nIndex==0)
{
sizelist.AddHead((long)fdata.nFileSizeLow);
FileName.Format("%s%s",path,fdata.cFileName);
namelist.AddHead(FileName);
}
else
{
POSITION pos;
pos = sizelist.FindIndex(nIndex);
sizelist.InsertAfter(pos,(long)fdata.nFileSizeLow);
pos = namelist.FindIndex(nIndex);
FileName.Format("%s%s",path,fdata.cFileName);
namelist.InsertAfter(pos,FileName);
}
nIndex++;
}
if(!FindNextFile(hSearch, &fdata))
{
if (GetLastError() == ERROR_NO_MORE_FILES)
bFinished = TRUE;
}
}
FindClose(hSearch);
return nIndex;
}
取Long型CList列表中的最大值的索引:
int GetMaxFileIndex(LongList& sizelist,int nCount)
{
int nIndex = 0;
long nValMax = sizelist.GetHead();
for(int i=1;i<nCount;i++)
{
long nVal = sizelist.GetAt(sizelist.FindIndex(i));
if(nVal > nValMax){
nValMax = nVal;
nIndex = i;
}
}
return nIndex;
}
相关文章推荐
- VC-获取文件夹中的指定类型的所有文件名和文件大小
- 获取文件夹中指定类型的所有文件名和文件大小
- VC++获取一个文件夹下所有文件的文件名或者给定类型文件的文件名
- (java)获取某文件夹下面所有的指定类型的文件名称,并根据情况返回可用的名称
- Python获取指定路径下的某类型文件的所有文件名
- 遍历指定文件下所有的文件夹和文件的路径,文件名,修改日期,类型
- php获取指定文件夹下所有文件的文件名
- 获取指定目录下指定类型所有文件的全路径及文件名
- java 获取文件夹所有文件,大小,文件名
- C#.NET获取指定文件夹下所有的指定类型文件
- 获取某某文件夹(包括子文件夹)下所有指定类型的文件
- 获取某某文件夹(包括子文件夹)下所有指定类型的文件
- win32命令行小程序获取指定文件夹或者目录下面的所有文件大小,文件数量,目录数量
- C#.NET获取指定文件夹下所有的指定类型文件
- [置顶] win32命令行小程序获取指定文件夹或者目录下面的所有文件大小,文件数量,目录数量
- php删除指定文件/获取文件夹的所有文件名
- 获取指定路径下文件夹所有文件的大小
- MFC获取文件夹下指定格式的文件并输出文件名及文件大小
- VC获取文件夹内指定类型的文件名
- WP7获取ISolatedStorage指定文件夹下所有子文件夹或者文件数