如何在C++中删除文件夹?

2024-01-31

如何使用 C++ 删除文件夹?

如果不存在跨平台方法,那么如何为最流行的操作系统(Windows、Linux、Mac、iOS、Android)做到这一点? POSIX 解决方案适用于所有这些吗?


使用 C++17,您可以使用std::filesystem http://en.cppreference.com/w/cpp/filesystem,在 C++14 中std::experimental::filesystem http://en.cppreference.com/w/cpp/experimental/fs已经可用。两者都允许使用filesystem::remove() http://en.cppreference.com/w/cpp/filesystem/remove.

C++17:

#include <filesystem>
std::filesystem::remove("myEmptyDirectoryOrFile"); // Deletes empty directories or single files.
std::filesystem::remove_all("myDirectory"); // Deletes one or more files recursively.

C++14:

#include <experimental/filesystem>
std::experimental::filesystem::remove("myDirectory");

注1: 这些函数抛出文件系统错误 http://en.cppreference.com/w/cpp/filesystem/remove如果出现错误。如果您想避免捕获异常,请使用重载变体std::error_code http://en.cppreference.com/w/cpp/error/error_code作为第二个参数。例如。

std::error_code errorCode;
if (!std::filesystem::remove("myEmptyDirectoryOrFile", errorCode)) {
    std::cout << errorCode.message() << std::endl;
}

笔记2: 转换为std::filesystem::path http://en.cppreference.com/w/cpp/filesystem/path不同的编码是隐式发生的,因此您可以将字符串传递给filesystem::remove() http://en.cppreference.com/w/cpp/filesystem/remove.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在C++中删除文件夹? 的相关文章

  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 如何在另一个应用程序中挂钩 api 调用

    我正在尝试挂钩另一个应用程序的 ExtTextOut 和 DrawTextExt GDI 方法调用 我知道我需要使用 GetProcAddress 来查找 gdi32 dll 中那些方法的地址 并用我的函数的地址覆盖我想要挂钩的进程中的地址
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • 使用 LINQ 更新 IEnumerable 对象的简单方法

    假设我有一个这样的业务对象 class Employee public string name public int id public string desgination public int grade List
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • 如何从 Rx Subscribe 回调异步函数?

    我想回调 Rx 订阅中的异步函数 例如 像那样 public class Consumer private readonly Service service new Service public ReplaySubject
  • 在 OpenGL 中渲染纹理 1 到 1

    所以我想做的是使用 OpenGL 和 C 将纹理渲染到平面上 作为显示图像的一种方式 但是我需要确保在渲染纹理时没有对纹理进行任何处理 抗锯齿 插值 平滑 模糊等 这是 OpenGL 处理渲染纹理的默认方式吗 或者是否需要设置一些标志才能禁
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl

随机推荐

  • 使用 javascript 将换行符替换为空格

    我想看看是否可以阻止回车键并将其替换为空格 我还使用表单验证仅允许字母 数字和其他一些特定字符 例如美元符号 减号和句点等 这是该代码 我想看看是否可以将它们合并为一个 并能够检查验证并将按键替换为一个代码 调用中的空格
  • Weka 高斯过程算法中的错误:乘法仅适用于双精度数

    我有这个数据集 我想通过请求 API 将 weka 算法应用于它 RELATION dataset ATTRIBUTE timestamp DATE yyyy MM dd HH mm ss z ATTRIBUTE action scale
  • 在后退按钮上单击执行功能。

    On document ready我有一个函数 它收集具有 wordNum 属性的 html 控件 我发出一个 AJAX 请求 该请求返回每个控件的一些描述 然后我设置这些控件及其innerhtml带有返回描述的属性 问题是 如果用户单击后
  • 如何修复 python 请求中的 错误?

    我正在使用一个 API 它接收 pdf 文件并进行一些分析 但我总是收到 Response 500 最初使用 Postman 进行测试 请求通过 收到带有相应 JSON 信息的响应 200 应关闭 SSL 安全性 但是 当我尝试通过 Pyt
  • UIActivityViewController 在 iOS 7 上不显示 FB 和 Twitter

    我正在尝试使用 UIActivityViewController 分享一些项目 在 iOS 6 上它运行良好 但是当我在 iOS 7 上测试它时 只显示邮件图标 由于怀疑我的 SDK 太旧 我下载了最新的 SDK 但它的行为仍然相同 我在模
  • 在 Android Studio 中更改矢量资源的填充颜色

    Android Studio 现在支持 21 上的矢量资源 并将在编译时为较低版本生成 png 我有一个矢量资源 来自材质图标 我想更改填充颜色 这适用于 21 但生成的 png 不会改变颜色 有没有办法做到这一点
  • 从 VB6 向 MS Access 插入订单

    我有一个用于培训管理的旧 VB 应用程序 它是用 VB6 编写的 数据库是 MsAccess 当我使用该应用程序时 在保存培训课程时 所有记录都保存在以前的记录之间 不按顺序 它没有添加到最后一行 该应用程序还从数据库中获取数据并将其显示在
  • 如何从日期选择器设置区域设置格式?

    如何根据用户的区域设置在 jQuery UI 的日期选择器中设置日期格式 我得到源html
  • 尝试从 Azure 检索数据时出现 MobileServiceInvalidOperationException

    这是我正在使用的方法 try List
  • 在laravel中安装vue 3.0

    有没有办法将 vue 3 0 安装到 Laravel 8 当我跑步时 npm install vue next 它开始安装Vue 3 0 但由于某种原因它也开始安装vue template compilerv2 6 12 出现以下内容 Ad
  • RxJava重试时出现奇怪的行为

    我正在玩 RxJava重试时间 http reactivex io documentation operators retry html操作员 网上关于它的资料很少 唯一值得一提的是this http blog danlew net 201
  • 使用 htaccess 和 php 创建动态子目录

    每次用户在我的网站上注册时 我希望他们拥有自己的子目录及其注册的 用户名 每个用户子目录都将具有相同的 index php 文件 该文件将执行某些操作 例如 users username1 和 users username2 如果有人想要访
  • 如何在 aspx 中运行 if 语句?

    我想运行 if 语句 但条件使用后面代码中的变量 我如何调用该变量 旁注 我正在使用 gridview 并且变量位于数据集中 dsResult idnbr 列
  • Node-gyp 无法编译 NodeJS 扩展(“致命错误,线程”文件未找到)

    我有一个同事制作的节点扩展 我正在尝试编译它node gyp configure 一切都好 然后node gyp build fatal error thread file not found 现在 我相信这是 gcc 的问题 我在某处读到
  • 为什么 JavaScript 中 [5,6,8,7][1,2] = 8?

    我无法全神贯注于这个怪癖 1 2 3 4 5 6 1 2 3 4 1 2 3 4 5 6 1 2 3 I know 1 2 3 1 2 1 2 31 2 但我找不到正在执行什么类型或操作 1 2 3 4 5 6 1 2 3 array ar
  • JavaScript 中“$”符号的含义是什么

    在下面的 JavaScript 代码中 有一个美元 符号 这是什么意思 window bind load function img protect protectImage 您的代码片段看起来像是引用流行 JavaScript 库之一 jQ
  • Android Studio 代表匿名内部类

    我在 Android Studio 0 3 6 中使用为我创建的 LoginActivity java 创建了一个全新的 Android 应用程序 当我查看onCreate函数我看到以下代码 但是当我点击突出显示的 view gt Andr
  • 将字符串数组存储在 appSettings 中?

    我想将一维字符串数组存储为我的条目appSettings 我不能简单地用分隔元素 or 因为元素本身可以包含这些字符 我正在考虑将数组存储为JSON然后使用反序列化它JavaScriptSerializer 有没有 正确 更好的方法来做到这
  • 配置 gradle build 以抑制 javadoc 控制台警告

    我正在使用 gradle 配置 gradle 构建javadoc插件 https docs gradle org current dsl org gradle api tasks javadoc Javadoc html 我能够阻止构建因
  • 如何在C++中删除文件夹?

    如何使用 C 删除文件夹 如果不存在跨平台方法 那么如何为最流行的操作系统 Windows Linux Mac iOS Android 做到这一点 POSIX 解决方案适用于所有这些吗 使用 C 17 您可以使用std filesystem