请问如何用程序得到当前目录下文件名中包涵"log"字符的所有文件名? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考:http://www.vckbase.net/document/viewdoc/?id=449 BOOL DeleteDirectory(char *DirName)//如删除 DeleteDirectory("c:\\aaa") { CFileFind tempFind; char tempFileFind[MAX_PATH]; sprintf(tempFileFind,"%s\\*.*",DirName); BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind); while(IsFinded) { IsFinded=(BOOL)tempFind.FindNextFile(); if(!tempFind.IsDots()) { char foundFileName[MAX_PATH]; strcpy(foundFileName,tempFind.GetFileName().GetBuffer(MAX_PATH)); if(tempFind.IsDirectory()) { char tempDir[MAX_PATH]; sprintf(tempDir,"%s\\%s",DirName,foundFileName); DeleteDirectory(tempDir); } else { char tempFileName[MAX_PATH]; sprintf(tempFileName,"%s\\%s",DirName,foundFileName); DeleteFile(tempFileName); } } } tempFind.Close(); if(!RemoveDirectory(DirName)) { MessageBox(0,"删除目录失败!","警告信息",MB_OK);//比如没有找到文件夹,删除失败,可把此句删除 return FALSE; } return TRUE;}//--------这段代码能得到文件夹下所有的文件名,包含子文件夹,文件名就在tempFileName 如果你只是查找当前目录下的文件要简单很多了,代码如下:HANDLE hFind;WIN32_FIND_DATA dataFind;BOOL bMoreFiles=TRUE;hFind=FindFirstFile(sPath+"\\*.txt",&dataFind);while(hFind!=INVALID_HANDLE_VALUE && bMoreFiles==TRUE){ if(dataFind.dwFileAttributes==FILE_ATTRIBUTE_ARCHIVE) { MessageBox(dataFind.cFileName); } bMoreFiles=FindNextFile(hFind,&dataFind);}FindClose(hFind);//--------这里是查找sPath下的所有文本文件,对所有的文件名都采用消息框显示出来。结合上面的方法,用上CString::Find()函数就很容易判断文件名是否含log字符串。May You Success CSplitterWnd的使用 有关ComboBox的消息映射 求教调色板的问题 我的程序中是将editbox设为数值型变量呢还是控件类变量?是这样的。。。 关于网页ActiveX控件的问题 散分 网吧管理软件 怎样得到CPU的频率? 100分求解一个问题,希望大虾鼎立相助!马上给分! 请问,大家对程序运行中的异常都是怎么处理的? 请教怎么从一个增强型图元文件得到Bitmap? 如果要下载的文件是ASP模式的,那要如何实现
http://www.vckbase.net/document/viewdoc/?id=449
{
CFileFind tempFind;
char tempFileFind[MAX_PATH];
sprintf(tempFileFind,"%s\\*.*",DirName);
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
char foundFileName[MAX_PATH];
strcpy(foundFileName,tempFind.GetFileName().GetBuffer(MAX_PATH));
if(tempFind.IsDirectory())
{
char tempDir[MAX_PATH];
sprintf(tempDir,"%s\\%s",DirName,foundFileName);
DeleteDirectory(tempDir);
}
else
{
char tempFileName[MAX_PATH];
sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
DeleteFile(tempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(DirName))
{
MessageBox(0,"删除目录失败!","警告信息",MB_OK);//比如没有找到文件夹,删除失败,可把此句删除
return FALSE;
}
return TRUE;
}
//--------这段代码能得到文件夹下所有的文件名,包含子文件夹,文件名就在tempFileName
HANDLE hFind;
WIN32_FIND_DATA dataFind;
BOOL bMoreFiles=TRUE;
hFind=FindFirstFile(sPath+"\\*.txt",&dataFind);
while(hFind!=INVALID_HANDLE_VALUE && bMoreFiles==TRUE)
{
if(dataFind.dwFileAttributes==FILE_ATTRIBUTE_ARCHIVE)
{
MessageBox(dataFind.cFileName);
}
bMoreFiles=FindNextFile(hFind,&dataFind);
}
FindClose(hFind);//--------这里是查找sPath下的所有文本文件,对所有的文件名都采用消息框显示出来。结合上面的方法,用上CString::Find()函数就很容易判断文件名是否含log字符串。
May You Success