查找文件删除

1)

_finddata_t fileinfo;
if ((hFile=_findfirst(filespec,&fileinfo)) != -1)
{
do
{
//检查是不是目录
//如果不是,则进行处理
if (!(fileinfo.attrib & _A_SUBDIR))
{
}
} while (_findnext(hFile,&fileinfo) == 0);
_findclose(hFile);
}


2)


void Application::DeleteDiagnoseFiles()
{
TCHAR tcFileDir[MAX_PATH] = {0};
FileSystemHandler::getAbsolutePath(tcFileDir);

TCHAR tcFilePath[MAX_PATH] = {0};
_stprintf(tcFilePath, TEXT("%s\\diagnose*.*"), tcFileDir);

WIN32_FIND_DATA wfd = {0};
HANDLE hFind = FindFirstFile(tcFilePath, &wfd);
if (hFind != INVALID_HANDLE_VALUE)
{
do
{
if (wfd.cFileName[0] == TEXT('.'))
{

}
else
{
CHAR cFilePath[MAX_PATH]={0};
_stprintf(tcFilePath, TEXT("%s\\%s"), tcFileDir, wfd.cFileName);
//ListView::TC2C(tname,cname,sizeof(cname)/sizeof(cname[0]));
EncodingHandler::WCharToMByte(tcFilePath,cFilePath,sizeof(cFilePath)/sizeof(cFilePath[0]));
remove(cFilePath);
}
}
while (FindNextFile(hFind, &wfd));
}
FindClose(hFind);

}

(返回的文件名中会包含"."和".."。“.'代表本目录,".."代表上一层目录。一般情况下需要把这两个名称过滤掉。比如要进行文件删除操作)

3)

void LanguageManager::FindI18nFile(LPCTSTR ptcFileDir)
{
TCHAR tcFilePath[MAX_PATH] = {0};
_stprintf(tcFilePath, TEXT("%s\\*.*"), ptcFileDir);
WIN32_FIND_DATA wfd = {0};
HANDLE hFind = FindFirstFile(tcFilePath, &wfd);
if (hFind != INVALID_HANDLE_VALUE)
{
do
{
if (wfd.cFileName[0] == TEXT('.'))
{

}
else if ((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY)
{
TCHAR tcFileDir[MAX_PATH] = {0};
_stprintf(tcFileDir, TEXT("%s\\%s"), ptcFileDir, wfd.cFileName);
this->FindI18nFile(tcFileDir);
}
else
{
LPTSTR ptcLastPoint = _tcsrchr(wfd.cFileName, TEXT('.'));
if ((ptcLastPoint != NULL) && (0 == _tcsicmp(ptcLastPoint, TEXT(".xml"))))
{
TCHAR tcFilePath[MAX_PATH];
_stprintf(tcFilePath, TEXT("%s\\%s"), ptcFileDir, wfd.cFileName);
}
}
}
while (FindNextFile(hFind, &wfd));
}
FindClose(hFind);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值