【转】 C++:用CreateDirectory创建文件目录(w

2017-02-27  本文已影响0人  哲学熊猫

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

//函数原型
BOOL CreateDirectory(
  LPCTSTR lpPathName,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

参数:

返回值:

备注:
这个函数不是递归的。它可以在一个路径中创建唯一的最终目录。也就是说,如果父目录或中间目录不存在,该函数将失败并显示错误消息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")

转自:http://blog.csdn.net/ccfxue/article/details/51597403

上一篇下一篇

猜你喜欢

热点阅读