当前位置:首页 > IT技术

CreateDirectory()用法

时间:2019-07-03 07:43:22来源:IT技术作者:SEO探针小编阅读:83次「手机版」
 

directory.createdirectory

CreateDirectory这个函数的作用是创建一个新的目录。如果底层文件系统支持文件和目录上的安全描述,该功能可将指定的安全描述到新的目录。

函数原型:

BOOL CreateDirectory(

 LPCTSTR lpPathName,

 LPSECURITY_ATTRIBUTES lpSecurityAttributes

);

参数:

pPathName:长指针,指向一个空结束的字符串,该字符串指定要创建的目录的路径。有一个默认的字符串大小限制为MAX_PATH字符的路径。此限制是关系到这个函数是如何解析路径。字符串的长度不超过MAX_PATH。

lpSecurityAttributes:忽略,一般设置为NULL。

返回值:

非零表示成功,零表示失败。若想获得更多的错误信息,调用GetLastERROR函数。

备注:

这个函数不是递归的。它可以在一个路径中创建唯一的最终目录。也就是说,如果父目录或中间目录不存在,该函数将失败并显示错误消息ERROR_PATH_NOT_FOUND。

一些文件系统,如ntfs文件系统,支持压缩或个别文件和目录加密。上卷格式化为这样的文件系统,一个新的目录继承父目录的压缩和加密属性。

--->>>

从备注可知,该函数只能创建一级目录,当根目录或者中间目录不存在时,该函数将不起作用。所以假如我们要创建二级以上目录时,应该分开来一步步创建。

例如:我们要创建:D:\\一级文件夹\\二级文件夹\\...

CString str = "D:\\一级文件夹";

CreateDirectory(str, NULL);

str += "\\二级文件夹";

CreateDirectory(str, NULL);

以此类推。

在创建新的目录之前,我们也可以先判断该目录是否已经存在,例如:

CString str = "D:\\一级文件夹";

if (!PathIsDirectory(str))

{

::CreateDirectory(str, NULL);

}

str += "\\二级文件夹";

if (!PathIsDirectory(str))

{

::CreateDirectory(str, NULL);

}

在调用PathIsDirectory()函数时,需要包含以下头文件与库函数:

#include "shlwapi.h"

#pragma comment(lib,"shlwapi.lib")

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读