Windows API CreateDirectory和RemoveDirectory 新建目录和删除目录

Windows API函数CreateDirectory创建目录,当然目录过多时也需要调用函数RemoveDirectory来删除不需要的目录,然而函数RemoveDirectory只能删除空的目录,也就是目录下没有文件和子目录才能删除。
 
函数CreateDirectory和RemoveDirectory声明如下:
 
WINBASEAPI
BOOL
WINAPI
CreateDirectoryA(
    __in     LPCSTR lpPathName,
    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
    );
WINBASEAPI
BOOL
WINAPI
CreateDirectoryW(
    __in     LPCWSTR lpPathName,
    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
    );
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif // !UNICODE
 
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryA(
    __in LPCSTR lpPathName
    );
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryW(
    __in LPCWSTR lpPathName
    );
#ifdef UNICODE
#define RemoveDirectory RemoveDirectoryW
#else
#define RemoveDirectory RemoveDirectoryA
#endif // !UNICODE
 
lpPathName是目录的路径。
lpSecurityAttributes是目录的安全属性。
返回值是执行是否成功。
 
调用函数的例子如下:
#001 //创建目录。
#002               //蔡军生 2007/10/16 QQ:9073204 深圳
#003               std::wstring strDir(_T("c://log"));
#004               if (!CreateDirectory(strDir.c_str(),NULL))
#005               {
#006                    OutputDebugString(_T("创建目录不成功/r/n"));                        
#007 
#008               }
#009               else
#010               {
#011                    //删除空目录。
#012                    RemoveDirectory(strDir.c_str());
#013               }
#014
 

例子:

  #define UNZIP_PATH   _T("C://lijiandong")
 CreateDirectory(UNZIP_PATH,NULL);
 MessageBox(_T("C://lijiandong OK"));
 RemoveDirectory(UNZIP_PATH);
参考博客:http://blog.csdn.net/caimouse/archive/2007/10/16/1828185.aspx

你可能感兴趣的:(MFC初级--文件的操作)