返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解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://lsjlt.com/news/156463.html(转载时请注明来源链接)

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

猜你喜欢
  • 详解C++ 创建文件夹的四种方式
    在开头不得不吐槽一下,我要的是简单明了的创建文件夹的方式,看得那些文章给的都是复杂吧唧的一大坨代码,不仔细看鬼知道写的是啥。因此,为了方便以后自己阅读,这里自己写一下 C++ 创建文...
    99+
    2024-04-02
  • C++创建文件夹的汇总方式有哪些
    这篇文章主要介绍“C++创建文件夹的汇总方式有哪些”,在日常操作中,相信很多人在C++创建文件夹的汇总方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++创建文件夹的汇总方式有哪些”的疑惑有所帮助!...
    99+
    2023-06-25
  • C#创建文件夹的应用方法
    这篇文章主要讲解了“C#创建文件夹的应用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#创建文件夹的应用方法”吧!C#创建文件夹的实际应用是如何的,最近遇到的问题是用openfiled...
    99+
    2023-06-17
  • JS创建对象的四种方式
    目录1.通过字面量的方式去创建对象2.使用new字符创建对象3.自定构造函数创建对象4.工厂模式创建对象创建对象的4种方式: 1.字面量的方式去创建对象 2.使用n...
    99+
    2024-04-02
  • 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
  • Android 创建与解析XML(四)——详解Pull方式
     1、Pull概述 Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了...
    99+
    2022-06-06
    解析xml XML Android
  • 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下载文件的四种方式详细代码
    1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse response) ...
    99+
    2024-04-02
  • Java创建随机数的四种方式总结
    目录c语言随机数java1.Random2.SecureRandom3.ThreadLocalRandom4.Math.Random完整代码第一次接触到随机数还是在c语言里面 使用的...
    99+
    2024-04-02
  • 详解Android中Fragment的两种创建方式
    fragment是Activity中用户界面的一个行为或者是一部分。你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activ...
    99+
    2022-06-06
    fragment Android
  • springboot创建文件夹失败的解决方法
    本篇文章给大家分享的是有关springboot创建文件夹失败的解决方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。springboot创建文件夹失败今天用idea写sprin...
    99+
    2023-06-29
  • C# 创建单例的多种方式
    目录第一种常见的方式创建单例: 第二种方式创建单例:第三种方式创建单例:第四种方式创建单例:第五种方式创建单例:关于为什么需要创建单例?这里不过多介绍,具体百度知。 &nb...
    99+
    2024-04-02
  • java中创建写入文件的6种方式详解与源码实例
    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。 Files.newBufferedWriter(Java ...
    99+
    2022-12-10
    java创建文件方法实例 java写入文件方法实例 java创建文件源码实例 java写入文件源码实例 Files.newBufferedWriter创建文件 Files.write PrintWri
  • 详解Android四种存储方式
    在Android程序开发中我们经常遇到四种数据存储方式,每种存储方式都各有不同;以下我分别列举了Android开发中的不同存储方式的特点 一,Preferences Pre...
    99+
    2022-06-06
    存储 Android
  • 基于SpringIOC创建对象的四种方式总结
    我们平时创建对象的方式无非就是以下两种: 有参构造 、无参构造 我们来看看在Spring中怎么处理这两种情况 首先我们先创建一个实体类: package com.MLXH.poj...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作