当前位置:首页 > windos > 正文

Windows API一日一练 51 CreateDirectory和RemoveDirectory函数

在信息爆炸的年代里,把各种信息分类已经是一种非常必要的功能,比如把股票行情数据保存到硬盘里,就需要分开几个目录保存。比如你写 LOG 到硬盘时,也需要分成几个目录来保存,这样让维护人员很好地找到出错的信息,或者有用的信息。像我在开发银行的信用卡系统时,就需要把所有通过网络传送的数据全部生成文本文件保存到当日的目录里,也就是说每天都需要创建一个目录,把所有交易的数据生成 LOG 保存进去。那么面对这样的需求,你是怎么样去创建目录的呢?这就需要使用到 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     

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow