CrateDirectory 응용
Windows API가 제공하는 CreateDirectory 함수의 응용.
API CreateDirectory의 경우 z:\a\b\ 아래에 c폴더를 만들때 z:\a\b가 이미 존재하지 않으면 실패한다.
이를 보완하여 상위폴더부터 주구장창 만들도록 한 응용 함수.
- BOOL _CreateDirectory( LPCTSTR lpszPath )
- {
- TCHAR szPathBuffer[MAX_PATH];
- size_t len = _tcslen( lpszPath );
- for ( size_t i = 0 ; i < len ; i++ )
- {
- szPathBuffer[i] = *( lpszPath + i );
- if ( szPathBuffer[i] == _T('\\') )
- {
- szPathBuffer[i + 1] = NULL;
- if ( ! PathFileExists( szPathBuffer ) )
- {
- if ( ! ::CreateDirectory( szPathBuffer, NULL ) )
- {
- if ( GetLastError() != ERROR_ALREADY_EXISTS )
- return FALSE;
- }
- }
- }
- }
- return TRUE;
- }
'소프트웨어 개발' 카테고리의 다른 글
| Dialog를 작업표시줄(task bar)에서 숨기려면 (2) | 2009/04/21 |
|---|---|
| Windows OS Version 알아내기 (7) | 2009/04/13 |
| CrateDirectory 응용 (4) | 2009/04/08 |
| 파일을 클립보드로 복사하기 (5) | 2009/04/06 |
| Connection String이 필요할땐? (5) | 2009/04/03 |
| std::string의 ReplaceAll 함수 (2) | 2009/04/02 |

Tag //

Comment List
로그인은 어디서 하나열?
내 맘속에 로그인 하고 싶은건가여? 므흣~
멋진 작품을 계속
개구리 올챙이 적 생각도 못 한다