详解C++ 创建文件夹的四种方式

yizhihongxing

详解C++ 创建文件夹的四种方式

在C++中创建一个文件夹一般有4种方式,分别是:

  1. 通过 Win32 API 函数 CreateDirectory 创建文件夹。
  2. 利用C++11标准库中 std::filesystemcreate_directory 函数创建文件夹。
  3. 调用C++标准库中的 mkdir 函数创建文件夹。
  4. 使用操作系统的命令行窗口执行 mkdir 命令创建文件夹。

下面我们将详细的讲解这4种方式。

1. 通过 Win32 API 函数 CreateDirectory 创建文件夹

代码示例:

#include <Windows.h>
#include <iostream>

int main() {
    LPCWSTR path = L"C:\\example_folder";
    if (CreateDirectoryW(path, NULL)) {
        std::cout << "Folder created successfully!" << std::endl;
    } else {
        std::cout << "Failed to create folder..." << std::endl;
        std::cout << "Error code: " << GetLastError() << std::endl;
    }
    return 0;
}

其中 CreateDirectoryW 函数的第一个参数为要创建的文件夹的完整路径,第二个参数为可选的安全性属性,默认设置为 NULL

2. 利用C++11标准库中 std::filesystemcreate_directory 函数创建文件夹

代码示例:

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    std::string folder_path = "example_folder";
    fs::path path(folder_path);
    try {
        if (!fs::exists(path)) {
            fs::create_directory(path);
            std::cout << "Folder created successfully!" << std::endl;
        } else {
            std::cout << "Folder already exists..." << std::endl;
        }
    } catch (fs::filesystem_error& e) {
        std::cout << e.what() << std::endl;
    }
    return 0;
}

其中,我们通过命名空间别名 fs 管理文件系统操作,使用 fs::path 存储路径信息。create_directory 函数可以直接在路径中创建文件夹。

3. 调用C++标准库中的 mkdir 函数创建文件夹

代码示例:

#include <iostream>
#include <sys/stat.h>

int main() {
    std::string folder_path = "example_folder";
    if (mkdir(folder_path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == 0) {
        std::cout << "Folder created successfully!" << std::endl;
    } else {
        std::cout << "Failed to create folder..." << std::endl;
    }
    return 0;
}

其中,mkdir 函数的第一个参数应该是要创建的文件夹的完整路径,第二个参数设置文件夹的访问权限,本示例中设置了其可读、可写、可执行。

4. 使用操作系统的命令行窗口执行 mkdir 命令创建文件夹

代码示例:

#include <iostream>

int main() {
    std::string folder_path = "example_folder";
    std::string cmd = "mkdir " + folder_path;
    if (system(cmd.c_str()) == 0) {
        std::cout << "Folder created successfully!" << std::endl;
    } else {
        std::cout << "Failed to create folder..." << std::endl;
    }
    return 0;
}

其中,使用 system 函数可以让操作系统执行命令窗口命令,本示例中执行了 mkdir 命令来创建文件夹。

综上所述,我们可以使用4种方法来创建文件夹。其中,第1种方法使用 Win32 API 函数,较为底层,但是对于 Windows 系统有较好的兼容性。第2种方法可以在任何平台上使用,代码中使用了 C++11 标准库中的 std::filesystem 库,代码简洁易懂。第3种方法使用 C++ 标准库中的 mkdir 函数,相对简单直接,但是对于权限控制不方便。第4种方法可以使用任何操作系统上的命令行窗口命令,但是较为底层,控制不方便,同时也有安全性问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C++ 创建文件夹的四种方式 - Python技术站

(1)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • C语言头文件<string.h>函数详解

    C语言头文件<string.h>函数详解 介绍 标准 C 库提供了许多有用的函数,其中很多函数都包含在头文件 <string.h> 中。这些函数主要用于处理字符串,包括字符串的拷贝、比较、重复、搜索、分割、连接等操作。 函数列表 下面是 <string.h> 中常用的函数列表: 函数名 返回值 功能描述 strcpy char* 将一…

    other 2023年6月27日
    00
  • java中定义常量方法介绍

    Java中定义常量方法介绍 在Java中,我们可以使用final关键字来定义常量。常量是指在程序运行期间不可改变的值。定义常量的方法有多种,下面将详细介绍。 1. 使用final关键字定义常量 在Java中,我们可以使用final关键字来定义常量。一旦将变量声明为final,它的值就不能再被修改。 final int MAX_VALUE = 100; 在上面…

    other 2023年7月29日
    00
  • shx文件怎么打开 .shx格式打开方式解答

    打开和解析 SHX 文件的攻略 SHX 文件是一种用于存储字体和形状数据的文件格式,通常用于CAD软件和GIS应用程序中。下面是打开和解析 SHX 文件的详细攻略。 步骤1:选择合适的软件 要打开 SHX 文件,您需要选择适用于您的操作系统的合适软件。以下是一些常用的软件选项: AutoCAD:AutoCAD是一款广泛使用的CAD软件,可以打开和编辑 SHX…

    other 2023年8月6日
    00
  • 网站搜索引擎优化的二十四条小技巧分享

    网站搜索引擎优化的二十四条小技巧分享 网站搜索引擎优化(SEO)对于任何一个网站来说都至关重要,因为它可以提高网站在搜索引擎中的排名,提高网站流量,进而带来更多的收益和曝光率。下面分享二十四条小技巧,帮助你优化你的网站并提高 SEO 排名。 1. 使用 HTTPS HTTPs 是一种安全的互联网传输协议,可以帮助网站实现加密和认证,搜索引擎通常会更倾向于识别…

    other 2023年6月26日
    00
  • java解决动态配置字段需求问题

    Java解决动态配置字段需求问题是针对不同业务场景,需要根据用户输入的参数动态配置不同字段的情况而提出的解决方案。下面是采用Java技术解决这个问题的完整攻略: 根据业务需求定义配置文件格式 配置文件在Java开发中相对常见,可以通过Properties、YAML、XML等格式来实现。根据业务场景,定义不同的字段,并将其封装在配置文件中。在读取配置文件时,J…

    other 2023年6月25日
    00
  • 关于java:从double转换为long 完全转换我的数字

    在Java中,将double类型的数字转换为long类型的数字可能会导致精度丢失。为了确保转换的准确性,可以使用Math.round()方法将double类型的数字舍五入为最接近的类型的数字。以下是将double类型的数字转换为long的数字的完整攻略,包括语法、示例和注意事项。 语法 在Java中,将double类型的数字转换为long类型的数字的语法如下…

    other 2023年5月7日
    00
  • Android编程中Perferences的用法实例分析

    Android编程中Preferences的用法实例分析 Preferences是Android中用于存储和管理应用程序配置数据的一种机制。它提供了一种简单的方式来保存和读取键值对数据。本攻略将详细介绍Preferences的用法,并提供两个示例说明。 1. 创建Preferences 首先,在AndroidManifest.xml文件中添加以下权限: &l…

    other 2023年10月13日
    00
  • Android读取properties配置文件的实例详解

    Android读取properties配置文件的实例详解 什么是properties配置文件 Properties配置文件是一种简单的键值对存储结构,通常用于存储应用程序的配置信息,其格式如下: key1=value1 key2=value2 key3=value3 其中,”=”前面的是键名,”=”后面的是键值,两者之间使用”=”进行分割,每行代表一个键值对…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部