iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解C++ 创建文件夹的四种方式
  • 633
分享到

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

2024-04-02 19:04:59 633人浏览 八月长安
摘要

在开头不得不吐槽一下,我要的是简单明了的创建文件夹的方式,看得那些文章给的都是复杂吧唧的一大坨代码,不仔细看鬼知道写的是啥。因此,为了方便以后自己阅读,这里自己写一下 c++ 创建文

在开头不得不吐槽一下,我要的是简单明了的创建文件夹的方式,看得那些文章给的都是复杂吧唧的一大坨代码,不仔细看鬼知道写的是啥。因此,为了方便以后自己阅读,这里自己写一下 c++ 创建文件夹的四种方式:

貌似都是 windows

提前说明:从参数角度上看,其实都应该使用 char*,但是为了方便这里使用的都是 string。在 SO 上找到一个方式把 string 转成 char*,就是调用 string 的 c_str() 函数。

本文示例都是在 E:\database 路径下创建一个叫做 testFolder 的文件夹。

使用 system() 调用 dos 命令


#include <iOStream>
using namespace std;

int main()
{
    string folderPath = "E:\\database\\testFolder"; 

    string command;
    command = "mkdir -p " + folderPath;  
    system(command.c_str());

    return 0;
}

使用头文件 direct.h 中的 access 和 mkdir 函数

关于 direct.h 我觉得 维基百科 上介绍的不错


#include <direct.h>
#include <iostream>
using namespace std;

int main()
{
    string folderPath = "E:\\database\\testFolder"; 

    if (0 != access(folderPath.c_str(), 0))
    {
        // if this folder not exist, create a new one.
        mkdir(folderPath.c_str());   // 返回 0 表示创建成功,-1 表示失败
        //换成 ::_mkdir  ::_access 也行,不知道什么意思
    }

    return 0;
}

调用 Windows api 函数


#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
    string folderPath = "E:\\database\\testFolder"; 

    if (!GetFileAttributesA(folderPath.c_str()) & FILE_ATTRIBUTE_DIRECTORY) {
        bool flag = CreateDirectory(folderPath.c_str(), NULL);
        // flag 为 true 说明创建成功
    } else {
        cout<<"Directory already exists."<<endl;
    }

    return 0;
}

调用 MFC 封装好的接口函数

不推荐此方法,出错的话会有点麻烦。


#include <iostream>
#include <shlwapi.h>
using namespace std;

int main()
{
    string folderPath = "E:\\database\\testFolder"; 

    if (!PathIsDirectory(folderPath.c_str()))  // 是否有重名文件夹
    {
        ::CreateDirectory(folderPath.c_str(), 0);
    }

    return 0;
}

如果你出现了错误 undefined reference to imp__PathIsDirectory @ 4,可以参考 undefined reference to imp PathIsDirectory
下面的方法是基于你详细阅读完上述链接后的前提下给出的

说我在 CodeBlocks 下解决该问题的方法:
第一步:在项目上右击,选择 Build Options

在这里插入图片描述

第二步: 在 Linker Settings 里添加 libshlwapi.a 文件

在这里插入图片描述

到此这篇关于C++ 创建文件夹的四种方式的文章就介绍到这了,更多相关C++ 创建文件夹内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解C++ 创建文件夹的四种方式

本文链接: https://www.lsjlt.com/news/156463.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解C++ 创建文件夹的四种方式
    在开头不得不吐槽一下,我要的是简单明了的创建文件夹的方式,看得那些文章给的都是复杂吧唧的一大坨代码,不仔细看鬼知道写的是啥。因此,为了方便以后自己阅读,这里自己写一下 C++ 创建文...
    99+
    2024-04-02
  • C++创建文件夹的汇总方式有哪些
    这篇文章主要介绍“C++创建文件夹的汇总方式有哪些”,在日常操作中,相信很多人在C++创建文件夹的汇总方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++创建文件夹的汇总方式有哪些”的疑惑有所帮助!...
    99+
    2023-06-25
  • JS创建对象的四种方式
    目录1.通过字面量的方式去创建对象2.使用new字符创建对象3.自定构造函数创建对象4.工厂模式创建对象创建对象的4种方式: 1.字面量的方式去创建对象 2.使用n...
    99+
    2024-04-02
  • C#创建文件夹的应用方法
    这篇文章主要讲解了“C#创建文件夹的应用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#创建文件夹的应用方法”吧!C#创建文件夹的实际应用是如何的,最近遇到的问题是用openfiled...
    99+
    2023-06-17
  • C++读取文件的四种方式总结
    C++可以根据不同的目的来选取文件的读取方式,目前为止学习了C++中的四种文件读取方式。 C++文件读取的一般步骤: 1、包含头文件 #include<fstream> ...
    99+
    2023-05-15
    C++实现文件读取方式 C++文件读取 C++文件
  • Python读取文件的四种方式的实例详解
    目录学生数量特别少的情况停车场空间不够时怎么办?怎么加快执行效率?怎么加快处理速度?结语故事背景:最近在处理Wikipedia的数据时发现由于数据量过大,之前的文件读取和数据处理方法...
    99+
    2024-04-02
  • JavaScript中的创建枚举四种方式
    目录基于对象的枚举优缺点枚举值类型基于Object.freeze()枚举优缺点基于proxy枚举优缺点基于类的枚举优缺点总结字符串和数字具有无数个值,而其他类型如布尔值则是有限的集合...
    99+
    2023-05-19
    js枚举方式 js枚举 js创建枚举
  • java线程池的四种创建方式详细分析
    目录前言1. 线程池2. 创建方式前言 在讲述线程池的前提 先补充一下连接池的定义 连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用 可以看到其连接池...
    99+
    2024-04-02
  • Java线程创建的四种方式总结
    多线程的创建,方式一:继承于Thread类 1.创建一个继承于Thread类的子类 2.重写Thread类的run()--->将此线程执行的操作声明在run()中 3.创建Th...
    99+
    2024-04-02
  • Java下载文件的四种方式详细代码
    1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse response) ...
    99+
    2024-04-02
  • Golang实现文件夹的创建与删除的方法详解
    目录创建文件夹删除文件和文件夹小结补充学习笔记,写到哪是哪。 接着上一篇对纯文本文件读写操作,主要去实现一些文件夹操作。 创建文件夹 创建文件夹的时候往往要先判断文件夹是否存在。 样...
    99+
    2024-04-02
  • java 文件拷贝的四种方式
    1. java 移动文件的方式有几种? 在 Java 中,可以使用多种方法来移动文件。 //使用 java.nio.file.Files 类的 move() 方法:import java.nio.fi...
    99+
    2023-09-02
    java servlet jvm
  • Java创建随机数的四种方式总结
    目录c语言随机数java1.Random2.SecureRandom3.ThreadLocalRandom4.Math.Random完整代码第一次接触到随机数还是在c语言里面 使用的...
    99+
    2024-04-02
  • C# 创建单例的多种方式
    目录第一种常见的方式创建单例: 第二种方式创建单例:第三种方式创建单例:第四种方式创建单例:第五种方式创建单例:关于为什么需要创建单例?这里不过多介绍,具体百度知。 &nb...
    99+
    2024-04-02
  • springboot创建文件夹失败的解决方法
    本篇文章给大家分享的是有关springboot创建文件夹失败的解决方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。springboot创建文件夹失败今天用idea写sprin...
    99+
    2023-06-29
  • java中创建写入文件的6种方式详解与源码实例
    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。 Files.newBufferedWriter(Java ...
    99+
    2022-12-10
    java创建文件方法实例 java写入文件方法实例 java创建文件源码实例 java写入文件源码实例 Files.newBufferedWriter创建文件 Files.write PrintWri
  • 基于SpringIOC创建对象的四种方式总结
    我们平时创建对象的方式无非就是以下两种: 有参构造 、无参构造 我们来看看在Spring中怎么处理这两种情况 首先我们先创建一个实体类: package com.MLXH.poj...
    99+
    2024-04-02
  • 详解Java中的八种单例创建方式
    目录定义使用场景单例模式八种方式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(同步方法)懒汉式(同步代码块)双重检查锁方式静态内部类方式枚举方式总结 定义 单例设...
    99+
    2024-04-02
  • Vue组件之间四种通信方式详解
    目录前言父子组件通信​父组件与子孙组件的通信​父组件获取子组件数据​无需考虑组件关系的通信​前言 vue 框架提供了前端开发组件的思想,可以通过组件来组合成一个完整的页面,都是随着组...
    99+
    2024-04-02
  • JavaScript对象的四种创建方法
    目录前言1. 基于对象字面量2. 利用new Object方式创建对象3. 基于构造函数4. 基于工厂方法前言 今天我们来学习一下JavaScript中关于对象的四种创建方法。 首先...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作