21xrx.com
2024-12-22 18:00:27 Sunday
登录
文章检索 我的文章 写文章
使用C++如何删除文件夹
2023-07-09 17:08:11 深夜i     --     --
C++ 删除 文件夹

在使用C++编程的过程中,有时需要删除文件夹。本文将介绍如何使用C++删除文件夹。

删除文件夹并不是一个简单的任务,因为文件夹可能包含多个文件和子文件夹。要想删除文件夹,需要递归遍历文件夹中的每一个文件和子文件夹,并删除其中的文件。下面是删除文件夹的C++代码:


#include <iostream>

#include <cstdio>

#include <cstring>

#include <direct.h>

using namespace std;

void DeleteFolder(const char* path)

{

  _finddata_t fileInfo;

  char pathName[256];

  long hFind;

  sprintf(pathName, "%s\\*.*", path);

  if ((hFind = _findfirst(pathName, &fileInfo)) == -1)

    return;

  do

  {

    if (strcmp(fileInfo.name, ".") != 0 && strcmp(fileInfo.name, "..") != 0)

    {

      sprintf(pathName, "%s\\%s", path, fileInfo.name);

      if (fileInfo.attrib & _A_SUBDIR)

      {

        DeleteFolder(pathName);

      }

      else

      {

        remove(pathName);

      }

    }

  } while (_findnext(hFind, &fileInfo) == 0);

  _findclose(hFind);

  rmdir(path);

}

int main()

{

  DeleteFolder("C:\\test");

  return 0;

}

这段代码使用了`_findfirst`和`_findnext`函数遍历了文件夹中的文件和子文件夹。如果遍历到的是文件夹,则递归的调用`DeleteFolder`函数删除文件夹中的内容。如果遍历到的是文件,则使用`remove`函数删除文件。

最后,使用`rmdir`函数删除文件夹。

上面的代码可以删除文件夹及其子文件夹中的所有文件和文件夹。在实际使用中,要谨慎操作,注意避免误删重要文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复