CFile类的查找函数可以帮助你,需要源码示例的话请留下email
解决方案 »
- Microsoft Access 数据库引擎找不到输入表或查询“abcd”
- 300 分mfc 重叠图片,最顶端图片镂空,在该图片上画线,怎么让设置背景色不为空
- 内存释放的问题,delete[] new char的指针后,内存并没有减少!
- 将基类与派生类都封装编译时会出现lib文件无法打开的情况,怎么处理??
- 我想hook进一个软件,让该软件的某个窗口类的窗口在创建后就是隐藏状态。而且总也显示不了,除非我让。求大概思路。
- 关于兼容DC
- 急!为什么在MDI程序中的视图不响应任何鼠标消息
- 画连续直线应怎样实现,并按鼠标右键停止绘图
- 大家看看这是病毒吗?
- 怎么样不让消息发送给子窗口?
- xcopy 进程死锁的问题
- 随机数问题?要利用随机数做一个算法?
GetFileName
GetFileTitle
GetFilePath
GetFileURL
GetLastAccessTime
GetLastWriteTime
GetLength
GetRoot
有这么多的函数,应该够了吧
WIN32_FIND_DATA fid
HANDLE hFind=::FindFirsFile(_T("*.*"),&fid)
if (hFind!=INVALID_HANDLE_VALUE) {
do {
if (!(fid.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
TRACE(_T("%s\n"),fid.cFileName)//or do anything u want
}while (::FindNextFile(hFind,&fid))
::FindClose(hFind)
}
HANDLE hFind;
CString szdir;
szdir = "X:\xxx";
szdir += _T("\\*.shp");
hFind = FindFirstFile(szdir,&fd);
if(hFind!=INVALID_HANDLE_VALUE){
do{
//if((fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
m_listLayerFile.AddString(fd.cFileName);
}while(FindNextFile(hFind,&fd));
FindClose(hFind);
}
CArray<GC_FileStruct, GC_FileStruct&> & strFileArray,
CStringArray *pFilterArray)
{
GC_FileStruct fileStruct;
CString str;
if(strStart.IsEmpty())
{
return FALSE;
}
if(strStart.Right(1) != _T("\\"))
{
strStart += _T("\\");
}
str = strStart + _T("*.*"); SendMessage(GC_SearchFile, (LPARAM)(strStart.GetBuffer(0))); // send message to HWND CFileFind fileFind;
BOOL bRet = fileFind.FindFile(str);
while(bRet)
{
bRet = fileFind.FindNextFile();
if(fileFind.IsDots())
continue ; CString strFile(fileFind.GetFilePath());
strFile.TrimLeft();
strFile.TrimRight(); if(fileFind.IsDirectory())
{
if (strFile.Right(1) != _T("\\"))
{
strFile += _T("\\");
}
SearchFile(strFile, strFileArray, pFilterArray);
}
else
{
fileStruct.strFileName = fileFind.GetFileName();
fileStruct.strDir = fileFind.GetRoot(); CString strExt = fileStruct.GetFileExt();
BOOL bExist = FALSE;
if(pFilterArray != NULL)
{
for(int i = 0; i < pFilterArray->GetSize(); i ++)
{
CString strTemp = pFilterArray->GetAt(i);
if(strExt.CompareNoCase(strTemp) == 0)
{
bExist = TRUE;
}
}
}
else
{
bExist = TRUE;
} if(bExist)
{
strFileArray.Add(fileStruct);
}
}
}; fileFind.Close(); return TRUE;
}