MFC 怎么搜索某些类型的文件?
MFC 怎样搜索某些类型的文件??
我想编一个程序执行这样的功能:
在一个指定的文件夹下,搜索比如“.doc”的全部文件,并能依次打开这些文件,进行某些操作。
我现在能找到的相关文件函数有这么几个我觉得还比较靠谱:
CfileFind类里的FindFile(),FindNextFile(),Isdots() ,但还是不知道具体怎么用好。
用C++里的函数也行。
希望高手们指点下小生,非常感谢。
现在正在学DES加密算法,想编一个加密的程序,比如加密某个文件夹下得所有文件,或者某些特定的文件如“.doc”“.txt”等等。
------最佳解决方案--------------------
MSDN上的代码
------其他解决方案--------------------
CString str = finder.GetFilePath();
if (finder.IsDirectory())
{
TRACE(_T("%s\n"), (LPCTSTR)str);
Recurse(str);
}
else
{
if(0 == str.Right(3).CompareNoCase(_T(".doc")))
{
//
}
}
自己稍微修改一下即可~
------其他解决方案--------------------
非常感谢您!我学习了!
我想编一个程序执行这样的功能:
在一个指定的文件夹下,搜索比如“.doc”的全部文件,并能依次打开这些文件,进行某些操作。
我现在能找到的相关文件函数有这么几个我觉得还比较靠谱:
CfileFind类里的FindFile(),FindNextFile(),Isdots() ,但还是不知道具体怎么用好。
用C++里的函数也行。
希望高手们指点下小生,非常感谢。
现在正在学DES加密算法,想编一个加密的程序,比如加密某个文件夹下得所有文件,或者某些特定的文件如“.doc”“.txt”等等。
------最佳解决方案--------------------
void Recurse(LPCTSTR pstr)
{
CFileFind finder;
// build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*");
// start working for files
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
// skip . and .. files; otherwise, we'd
// recur infinitely!
if (finder.IsDots())
continue;
// if it's a directory, recursively search it
if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
TRACE(_T("%s\n"), (LPCTSTR)str);
Recurse(str);
}
}
finder.Close();
}
void PrintDirs()
{
Recurse(_T("C:"));
}
MSDN上的代码
------其他解决方案--------------------
CString str = finder.GetFilePath();
if (finder.IsDirectory())
{
TRACE(_T("%s\n"), (LPCTSTR)str);
Recurse(str);
}
else
{
if(0 == str.Right(3).CompareNoCase(_T(".doc")))
{
//
}
}
自己稍微修改一下即可~
------其他解决方案--------------------
非常感谢您!我学习了!