MakeSureDirectoryPathExists和CreateDirectory的区别

来源:互联网 发布:雷欧奥特曼mac队 编辑:程序博客网 时间:2024/06/13 04:41
MakeSureDirectoryPathExists和CreateDirectory这两个函数都可以创建目录。

不同点是:MakeSureDirectoryPathExists可以一次性创建深层目录,即多级目录。如:创建C:\dan\shi\ming\目录,只要在本机上存在C盘,就会一次性创建C:\dan和C:\dan\shi和C:\dan\shi\ming这三个目录,但是CreateDirectory不能创建深层目录,比如:要创建C:\dan\shi\ming目录,必须先保证C:\dan和C:\dan\shi目录存在,C:\dan\shi\ming目录才能创建成功;如果C:\dan和C:\dan\shi目录不存在,直接用CreateDirectory创建C:\dan\shi\ming目录不会成功,也不会创建C:\dan和C:\dan\shi目录。因此用CreateDirectory创建深层目录时,必须多次调用CreateDirectory函数且必须保证上层目录创建成功后才创建下级目录。如要创建C:\dan\shi\ming目录,必须按下面那样:

CreateDirectory(_T("C:\\dan"));  // 必须先创建C:\dan目录

CreateDirectory(_T("C:\\dan\\shi")); // 然后创建C:\dan\shi目录

CreateDirectory(_T("C:\\dan\\shi\\ming")); // 再创建C:\dan\shi\ming目录

而MakeSureDirectoryPathExists和CreateDirectory(_T("C:\\dan\\shi\\ming")); 一次性就可以成功,即使C:\dan目录和C:\dan\shi目录不存在(不存在时,就会创建不存在的目录)也能创建成功。