用CreateDirectory创建文件目录
2016-01-24 10:00
323 查看
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")
函数原型:
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")
相关文章推荐
- OpenCV 64位时 应用程序无法正常启动0x000007b 问题解决
- 在SrollView中嵌套GridView或ListView(转)
- 天声人語 20160124 逆石油ショック
- Codeforce round340 div2
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 两个命令把 Vim 打造成 Python IDE
- 【转】Oracle分析函数:First_Value
- python 操作符**与*的用法
- YUM(Yellow dog Updater, Modified)使用详解
- 北京Uber优步司机奖励政策(1月24日)
- latex 基本用法(二)—— 矩阵(增广矩阵、长虚线)
- activiti之流程变量
- Codeforces round 440 div2 总结&&题解
- Redshift扩容及踩到的坑
- Leetcode 27. Remove Element
- Leetcode Array题型总结
- POJ 1789 (最小生成树之Kruskal算法)
- python搜索引擎(转)
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月24日)
- KVC与KVO