创建目录和删除目录

1 创建单级目录CreateDirectory

创建一个新目录。如果底层文件系统支持文件和目录的安全,则该函数将指定的安全描述符应用于新目录。要指定模板目录,请使用 CreateDirectoryEx函数。

BOOL CreateDirectoryA(
  LPCSTR                lpPathName,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

1.1 参数介绍

(1)lpPathName:要创建的目录的路径。

(2)指向SECURITY_ATTRIBUTES 结构的指针。该结构的lpSecurityDescriptor成员为新目录指定了一个安全描述符。如果lpSecurityAttributes为 NULL,则目录获取默认安全描述符。

1.2 返回值

如果函数成功,则返回值非零。

如果函数失败,则返回值为零。要获取扩展错误信息,请调用 GetLastError。可能的错误包括以下内容。

返回值
返回码描述

ERROR_ALREADY_EXISTS

指定的目录已经存在。

ERROR_PATH_NOT_FOUND

一个或多个中间目录不存在;此函数只会在路径中创建最终目录。

 

详细请见:https://docs.microsoft.com/zh-cn/windows/win32/api/fileapi/nf-fileapi-createdirectorya?redirectedfrom=MSDN

2 创建多级目录 MakeSureDirectoryPathExists

从根开始创建指定路径中的所有目录。

BOOL IMAGEAPI MakeSureDirectoryPathExists(
  PCSTR DirPath
);

2.1 参数介绍

(1)DirPath:有效的路径名。如果路径的最后一部分是目录,而不是文件名,则字符串必须以反斜杠 (\) 字符结尾。

2.2 返回值

如果函数成功,则返回值为TRUE

如果函数失败,则返回值为FALSE。要检索扩展错误信息,请调用GetLastError

3 删除目录RemoveDirectory

删除现有的空目录。

BOOL RemoveDirectoryA(
  LPCSTR lpPathName
);

3.1 参数介绍

(1)lpPathName:要删除的目录的路径。此路径必须指定一个空目录,并且调用进程必须对该目录具有删除权限。

3.2 返回值

如果函数成功,则返回值非零。

如果函数失败,则返回值为零。要获取扩展错误信息,请调用 GetLastError

4 函数应用

#include<windows.h>
#include<tchar.h>
#include <iostream>
#include<ImageHlp.h>  
#pragma comment(lib,"imagehlp.lib")

using namespace std;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdline, int nShowCmd)
{
	//创建单级目录
	BOOL bRet = CreateDirectory("E://Project//10_test//test", NULL);
	if(FALSE == bRet)
	{
		MessageBox(NULL, "创建目录失败", "Tip", MB_OK);
		return 1;
	}
	else
	{
		MessageBox(NULL, "创建目录成功", "Tip", MB_OK);
	}

	//创建多级目录
	bRet = MakeSureDirectoryPathExists("E://Project//10_test//test2//test2_1//test2_1_1");
	if(FALSE == bRet)
	{
		MessageBox(NULL, "创建目录失败", "Tip", MB_OK);
		return 2;
	}
	else
	{
		MessageBox(NULL, "创建目录成功", "Tip", MB_OK);
	}

	//删除目录 仅当被删除的目录下面为空时才能删除成功
	bRet = RemoveDirectory("E://Project//10_test//test");
	if(FALSE == bRet)
	{
		MessageBox(NULL, "删除单级失败", "Tip", MB_OK);
		return 3;
	}
	else
	{
		MessageBox(NULL, "删除目录成功", "Tip", MB_OK);
	}

	return 0;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值