您的位置:首页 > 其它

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

2007-12-29 06:58 483 查看
在信息爆炸的年代里,把各种信息分类已经是一种非常必要的功能,比如把股票行情数据保存到硬盘里,就需要分开几个目录保存。比如你写LOG到硬盘时,也需要分成几个目录来保存,这样让维护人员很好地找到出错的信息,或者有用的信息。像我在开发银行的信用卡系统时,就需要把所有通过网络传送的数据全部生成文本文件保存到当日的目录里,也就是说每天都需要创建一个目录,把所有交易的数据生成LOG保存进去。那么面对这样的需求,你是怎么样去创建目录的呢?这就需要使用到Windows API函数CreateDirectory创建目录,当然目录过多时也需要调用函数RemoveDirectory来删除不需要的目录,然而函数RemoveDirectory只能删除空的目录,也就是目录下没有文件和子目录才能删除。 函数CreateDirectory和RemoveDirectory声明如下: WINBASEAPIBOOLWINAPICreateDirectoryA(    __in     LPCSTR lpPathName,    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes    );WINBASEAPIBOOLWINAPICreateDirectoryW(    __in     LPCWSTR lpPathName,    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes    );#ifdef UNICODE#define CreateDirectory CreateDirectoryW#else#define CreateDirectory CreateDirectoryA#endif // !UNICODE WINBASEAPIBOOLWINAPIRemoveDirectoryA(    __in LPCSTR lpPathName    );WINBASEAPIBOOLWINAPIRemoveDirectoryW(    __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   

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1828185
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: