C/C++创建和删除文件夹操作

2023-11-20

一、创建文件夹


1、调用Windows API函数 CreateDirectory()


头文件<windows.h>

代码如下:

#include<windows.h>    //头文件
#include<iostream>

using namespace std;

int main()
{
    string dirName = "D:\\test";  
    bool flag = CreateDirectory(dirName.c_str(), NULL);  
    return 0;
}

如果创建成功,将返回布尔型true。

CreateDirectory()函数参数如果提示"Error: "const char"类型的实参与"LPCWSTR"类型的形参不兼容",解决方法:

项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。


2、调用C运行库函数int mkdir()和int _mkdir()


头文件<direct.h>

代码如下:

#include<direct.h>    //头文件
#include<iostream>

using namespace std;

int main()
{
   string dirName = "D:\\test";  
    _mkdir(dirName.c_str());
   return 0;
}
_mkdir()创建成功返回0,失败返回-1。


3、调用system命令md


使用下面的语句即可:

system("md D:\\test");

成功返回0,否则返回非零。



二、删除文件夹


1、调用Windows API函数 RemoveDirectory()


头文件<windows.h>

代码:

#include<windows.h>    //头文件
#include<iostream>

using namespace std;

int main()
{
    string dirName = "D:\\test";  
    bool flag = RemoveDirectory(dirName.c_str());  
    return 0;
}
删除成功返回布尔型true,否则返回false。


2、调用C运行库函数int rmdir()和int _rmdir()


头文件<direct.h>

#include<direct.h>    //头文件
#include<iostream>

using namespace std;

int main()
{
    string dirName = "D:\\test";  
    rmdir(dirName.c_str());		
    return 0;
}
如果删除成功,则返回0;否则返回-1。


3、调用system命令rd


使用语句:

system("rd D:\\test");

成功返回0,否则返回非零。



三、检查文件是否存在


使用_access()函数,头文件<io.h>

#include<direct.h>    //头文件
#include<io.h>
#include<iostream>

using namespace std;

int main()
{
   string dirName = "D:\\test";  
   if(_access(dirName.c_str(), 0)==-1)
    {
      int i = _mkdir(dirName.c_str());    
    } 
    return 0;
}
如果文件存在,返回0,不存在,返回-1。



才疏学浅,欢迎指正。

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

C/C++创建和删除文件夹操作 的相关文章

  • 【千律】C++基础:获取数组中的最大值和最小值

    include
  • c++基础2:使用VS2010 创建最简单的MFC应用程序窗体

    1 添加 新建项目 选择 VISUAL C MFC应用程序 确定 下一步 2 在 应用程序类型 中选择 基于对话框 下一步 3 在 用户界面功能 只选择 粗框架 下一步 4 在 高级功能 取消所有选择 下一步 5 生成的类 点击 完成
  • 如何声明静态方法 和 实现?

    如何声明静态方法 和 实现 在 C 中 声明和实现静态方法 静态成员函数 与普通成员函数有一些区别 静态方法属于类本身 而不是类的对象 因此在声明和实现时需要特殊的语法 声明静态方法 在类的声明中 通过在函数原型前面添加关键字 static
  • Cpp学习——通过日期类来了解Cpp中的运算符重载

    目录 一 日期类 二 运算符重载 运算符重载1 比较 1 lt 2 复用 3 gt 4 5 lt 6 gt 运算符重载2 日期加减 0 准备条件 计算每月的日期函数 1 2 3 4 5 前置 6 后置 7前置 6 后置 7 计算两个日期的相
  • Cpp学习——模板

    模板 目录 模板 1 介绍 2 函数模板的使用 3 函数模板的强制转换or显式调用 四 模板的分类 1 介绍 在Cpp3 0中 祖师爷便引入了模板的概念 这是一个重大的变革 为后来的Cpp标准化打下了铺垫 也正是因为有了模板 Cpp才能有S
  • 【千律】C++基础:List 链表循环删除元素,及其报错的解决方案

    报错原因 采用erase移除迭代器后 迭代器的值变为 572662307 无法作为迭代器继续运算 详细 当程序执行到 list int erase itor 时 满足条件的第一个元素被删除 从而导致 itor 指针被删除 使其不指向任何元素
  • C#类与结构体的区别

    C 中类 class 与结构体 stract 的区别 1 类是引用类型 结构体是值类型 2 结构体不支持继承 但可以实现接口 类即支持继承也能实现接口 3 结构体中不可以声明无参的构造函数 4 结构体不能定义析构函数 5 结构体不可用作其他
  • 在C++中 char 到底是什么类型?

    在C 中 char 是一个用来表示字符的整数数据类型 它通常占据一个字节 8位 用于存储单个字符的ASCII码或其他字符编码的值 char 类型可以用于表示字符 比如字母 数字 标点符号等 每个字符在计算机内部都有一个对应的整数值 这个值可
  • c# 位运算符

    说来惭愧 今天看别人提供的源码 看了这些运算符竟然有些记不起来 在这里就记录一下 首先认识这些运算符 按位与 其实与 逻辑运算符有一致的地方 下面会讲到 按位或 同样与 有类似的地方 按位取反 按位异或 lt lt 左移运算符 gt gt
  • C++中前置声明的应用与陷阱

    前置声明的使用 有一定C 开发经验的朋友可能会遇到这样的场景 两个类A与B是强耦合关系 类A要引用B的对象 类B也要引用类A的对象 好的 不难 我的第一直觉让我写出这样的代码 A h include B h class A B b publ
  • 【千律】C++基础:类的构造函数和初始化

    include
  • STL标准模板库学习笔记一(STL序列容器)

    目录 STL 容器 STL迭代器 array vector deque功能 list 和 forward list 功能 vector emplace back 和push back 的区别 vector插入函数insert和emplace
  • C#基础知识篇:C#网络编程(Socket)使用poll函数判断连接断开问题

    C Socket使用poll函数判断连接断开问题 最近在学习c 的网络编程内容 遇到这样一个问题 在服务器端 如何判断客户端的一个连接是否断开 查找相关资料 得出较好的解决方案是使用socket对象的poll函数 poll函数分析 下面是p
  • 【千律】C++基础:析构函数

    报错strcpy不安全 解决方法 项目 gt 属性 gt C C gt 预处理器 gt 预处理器定义 添加 CRT SECURE NO DEPRECATE CRT NONSTDC NO DEPRECATE include
  • 条件编译小结

    编码的时候经常要用到条件编译 每次都到网上去查比较浪费时间 今天总结一下以备后用 编译器 GCC ifdef GNUC if GNUC gt 3 GCC3 0以上 Visual C ifdef MSC VER 非VC编译器很多地方也有定义
  • virtualenv: error: unrecognized arguments: --no-site-packages

    使用virtualenv version 看到自己的版本大于20 就可以将如下这段删除 export VIRTUALENVWRAPPER VIRTUALENV ARGS no site packages 我碰到的情况下 user makef
  • C-结构体

    目录 结构体 定义结构体 第一种方式 定义的同时定义变量名 第三种方式 赋值和初始化 如何取出结构体成员 结构体变量 结构体指针作为函数参数进行传递 结构体运算 结构体 形成了一个新的数据类型 定义结构体 第一种方式 定义一个新的数据类型
  • wchar_t char wstring string 项目转换

    wchar t char wstring string 项目转换 1 wchart t转wstring wchar t tmpRuleStr 10 0 wstring m tmpRuleStr wstring tmpRuleStr 2 ws
  • 深入研究C++多态(虚函数和虚继承)

    文章目录 多态的引入 虚函数表 几种常见继承关系中的类内存分布 单继承 多继承 菱形继承 总结 作者 狗子孙 链接 https www jianshu com p 02183498a2c2 来源 简书 简书著作权归作者所有 任何形式的转载都
  • 【千律】C++基础:打开并下载网页 -- ShellExecuteEx 和 URLDownloadToFile 函数

    include

随机推荐

  • 简单又漂亮:小白入门网页制作

    网页大家平时见的非常多 有的网页简约 有的网页很华丽 那么今天我就来分享一下制作网页的基本操作 就以下面这个网页为例 1 制作网页需要用到的工具 写网页不需要很多工具 因为写出来的网页只是一张图片 没有添加与后台的交互 所以只需要使用HTM
  • vue中使用Echarts地理地图并结合高德地图实现一个国、省、市、区的地图下钻功能

    vue中使用Echarts地理地图并结合高德地图实现一个国 省 市 区的地图下钻功能 一 需求 按不同的层级展示不同的内容 1 中国地图 2 省级地图 3 市级地图 4 县和区以下的地图 二 开发 1 Echarts和地图容器的设置 相关代
  • 优化网站DNS域名解析 进一步提升访问速度

    提高网页的打开速度 一般地我们会选择使用CDN 利用 就近原则 让用户在最短的时间内获取到服务器资源 实际应用当中采用CDN的方式提高网站访问速度的效果也是最明显的 这也就是为什么国外的空间打开速度远不及国内的主机的访问速度的原因了 我们知
  • 1、二层交换机VLAN的划分

    目录 1 手动配置主机IP地址 2 创建vlan 在交换机的全局配置模式下进行 3 分配vlan端口 1 逐一添加 2 分组添加 4 查看vlan配置 1 手动配置主机IP地址 PC PT IP SM PC0 192 168 0 11 25
  • Ubuntu20.04部署android版mediapipe踩坑记录(持续更新。。。)

    1 Android SDK 以及NDK版本问题 根据mediapipe官方文档 SDK要求在28 0 3版本及以上 NDK版本要求介于18和21之间 若版本超出范围容易引发未知的问题 导致无效加班到怀疑人生 注意 SDK build too
  • 机器学习最经典算法-SVM支持向量机-【基本解读算法+详细实际案例分部流程】

    支持向量机 SVM SVM算法可谓是最经典的机器学习算法了 具有泛化错误率低 分类速度快 结果易解释等特点多多 在应用领域涉及非常广 比如人像识别 文本分类 手写字符识别 人脸识别 生物信息学等等等 同时算法模型评估效果也是很优秀的 它为何
  • React 单元测试策略及落地

    写好的单元测试 对开发速度 项目维护有莫大的帮助 前端的测试工具一直推陈出新 而测试的核心 原则却少有变化 与产品代码一并交付可靠的测试代码 是每个专业开发者应该不断靠近的一个理想之地 本文就围绕测试讲讲 为什么我们要做测试 什么是好的测试
  • 自然语言处理nltk下载以及nltk_data下载及其所遇问题解决方案

    目录 一 nltk的下载 二 nltk data 下载 三 解压 nltk data 存放目录可能会出现的问题 一 nltk的下载 新建虚拟环境 conda activate n NLP python 3 8 创建虚拟环境方便管理 激活虚拟
  • IC Compiler指南——数据准备

    一 概述 ICC数据设置的文件关系框图如图 后端工具在数据设置阶段需要对两大类数据进行设置 包括从前端设计继承的综合数据 以及后端设计需要的物理数据 综合数据主要包括前端逻辑综合已经设置过的逻辑与时序库文件 设计约束文件sdc以 及综合网表
  • FileZilla尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败。

    考虑是否在ubuntu下开启了FTP服务 执行以下命令开启 sudo apt get install vsftpd 不能远程登陆 mobaxterm等 unbutu 考虑是否开启了SSH 使用以下命令开启 sudo apt get inst
  • 互联网创业项目整合:提高成功率的关键方法

    互联网创业是当前非常火热的话题 但是市场竞争也异常激烈 成功率不高 今天 我来分享一些互联网创业项目整合的方法 帮助大家创造更大的机会 1 选择适合自己的领域 在选择创业项目时 一定要根据自己的专业 兴趣 经验等因素进行选择 才能更好地发挥
  • clion file and code templates

    主要用于 文件命名为 my class 时 生成的类为 MyClass c class header 和 都是被分割的对象 parse C File Header h ifndef INCLUDE GUARD define INCLUDE
  • L1-039 古风排版(C语言)(测试点2)

    题目 L1 039 古风排版 分数 20 作者 陈越 单位 浙江大学 中国的古人写文字 是从右向左竖向排版的 本题就请你编写程序 把一段文字按古风排版 输入格式 输入在第一行给出一个正整数N lt 100 是每一列的字符数 第二行给出一个长
  • Flickr30k图像标注数据集下载及使用方法

    Flickr30k数据集的下载 可在http shannon cs illinois edu DenotationGraph 中填表 获取下载地址http shannon cs illinois edu DenotationGraph da
  • 【深入理解C++】转发、完美转发、std::forward

    文章目录 1 转发 2 完美转发 3 std forward和std move的区别 4 参考资料 前置知识 万能引用 引用折叠 1 转发 include
  • SIM卡相关知识总结

    主题 SIM基本功能和原理 简介 参考 SIM卡工作原理总结 SIM卡插入检测原理 SIM卡的识卡机制 SIM卡基础技术规范 2 3 4 5G UE和网络鉴权流程的演进 作者 ybb 时间 2021年9月9日 1 初识SIM卡 SIM卡的物
  • JDBC 的简单封装,以sqlite数据库为例

    小驼峰会自动转下划线 Column 注解会覆盖其他策略 就取name名字作为字段名 Table 注解可以重新标记表名 1 主要方法就是save和list两个方法 调用实例如下 package xin tom esui db import o
  • 判断用户设备是移动端还是pc端

    判断用户设备是移动端还是pc端 解决办法 mounted if this isMobile 手机端 else pc端 this getRecordH methods 手机端和pc端 isMobile let flag navigator u
  • webpack5 学习(十二)—— webpack 和 TypeScript 进行集成

    基础配置 首先 安装 TypeScript compiler 和 loader npm install save dev typescript ts loader 安装完成 tsconfig json 设置一个基本的配置来支持 JSX 并将
  • C/C++创建和删除文件夹操作

    一 创建文件夹 1 调用Windows API函数 CreateDirectory 头文件