Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
来源:互联网 发布:西安高新区软件工资 编辑:程序博客网 时间:2024/05/21 21:59
在信息爆炸的年代里,把各种信息分类已经是一种非常必要的功能,比如把股票行情数据保存到硬盘里,就需要分开几个目录保存。比如你写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
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- windows API CreateDirectory和RemoveDirectory函数
- CreateDirectory和RemoveDirectory函数
- CreateDirectory和RemoveDirectory函数
- Windows API一日一练(52)GetCurrentDirectory和SetCurrentDirectory函数
- FreeBSD各种Logo收藏
- [转]Cake 指南:建立一个简单的Blog
- Windows API一日一练(48)PostThreadMessage函数
- 装机过程中10大常规性错误
- Windows API一日一练(51)CreateDirectory和RemoveDirectory函数
- Windows API一日一练(50)SuspendThread和ResumeThread函数
- [转]一生成柱状图、横柱图、折线图的类
- Windows API一日一练(47)CreateSemaphore和ReleaseSemaphore函数
- [同事文章] 软件项目版本号的命名格式
- Windows API一日一练(49)SetThreadPriority和GetThreadPriority函数
- Windows API一日一练(46)EnterCriticalSection和LeaveCriticalSection函数
- JexcelApi和POI导入Excel日期识别成数字的解决方案
- Windows API一日一练(48)PostThreadMessage函数