이 블로그는 http://blog.greenmaru.com으로 이동 하였습니다.
2010년 12월 이후 업데이트는 새로운 블로그를 통해서만 이루어 집니다. 현재 보고 계신 페이지는 2011년 12월에 없어질 예정 이므로, 필요하신 분께서는 새로운 블로그로 링크를 변경해 주시기 바랍니다.
번거롭게 해 드려 죄송합니다.
<greenb>

CrateDirectory 응용

Windows API가 제공하는 CreateDirectory 함수의 응용.

API CreateDirectory의 경우 z:\a\b\ 아래에 c폴더를 만들때 z:\a\b가 이미 존재하지 않으면 실패한다.
이를 보완하여 상위폴더부터 주구장창 만들도록 한 응용 함수.

  1. BOOL _CreateDirectory( LPCTSTR lpszPath )   
  2. {   
  3.     TCHAR szPathBuffer[MAX_PATH];   
  4.     size_t len = _tcslen( lpszPath );   
  5.   
  6.     for ( size_t i = 0 ; i < len ; i++ )   
  7.     {   
  8.         szPathBuffer[i] = *( lpszPath + i );   
  9.         if ( szPathBuffer[i] == _T('\\') )   
  10.         {   
  11.             szPathBuffer[i + 1] = NULL;   
  12.             if ( ! PathFileExists( szPathBuffer ) )   
  13.             {   
  14.                 if ( ! ::CreateDirectory( szPathBuffer, NULL ) )   
  15.                 {   
  16.                     if ( GetLastError() != ERROR_ALREADY_EXISTS )   
  17.                         return FALSE;   
  18.                 }   
  19.             }   
  20.         }   
  21.     }   
  22.     return TRUE;   
  23. }
저작자 표시 비영리 변경 금지
Tag // ,

Trackback Address >> http://greenmaru.com/trackback/15 관련글 쓰기

Comment List

  1. 가오!! 2009/04/08 15:33 address / modify or delete / reply

    로그인은 어디서 하나열?

  2. BlogIcon 김보경 2012/01/11 09:00 address / modify or delete / reply

    멋진 작품을 계속

  3. BlogIcon 유병수 2012/01/13 01:39 address / modify or delete / reply

    개구리 올챙이 적 생각도 못 한다

|  1  | ...  86  |  87  |  88  |  89  |  90  |  91  |  92  |  93  |  94  | ...  104  |