본문 바로가기

API

디렉토리 생성

728x90
반응형

 

이번에는 디렉토리를 생성하는 함수를 만들어 보았습니다. 100% 제가 한건 아니지만 -_-;;
디렉토리 명을 호출시 받아오고 그 디렉토리 명을 검사해서 있으면 만들지 않고 지나가게 됩니다.
원래 CreateDirectory 함수는 맨 하위 디렉토리만을 생성하는 녀석이라 부모 디렉토리가 없으면 디렉토리를 생성하지 못합니다. 그래서 문자를 하나하나 검사해서 상위 디렉토리부터 하나하나 다 만들어주게 하였습니다~

#include <shlwapi.h>

 

#pragma comment(lib, "shlwapi"

BOOL CreateDirectoryFunc(LPCTSTR path)

{

  TCHAR szPathBuffer[MAX_PATH];

 

  UINT len = lstrlen(path);

  for(UINT i = 0; i < len; i++)

  {

    szPathBuffer[i] = *(path + i);

    if(szPathBuffer[i] == TEXT('\\') || szPathBuffer[i] == TEXT('/'))

    {

      szPathBuffer[i + 1] = NULL;

      if(!PathFileExists(szPathBuffer))

      {

        if(!CreateDirectory(szPathBuffer, NULL))

        {

          if(GetLastError() != ERROR_ALREADY_EXISTS)

            return FALSE;

        }

      }

    }

  }

  return TRUE;

}

여기서 주위할점은 PathFileExists 함수는 shlwapi.h 해더를 include 시켜야 된다는 것을 잊으면 안 됩니다~
그렇게 어렵지는 않지요?? ㅎㅎ

출처 : 생각이 나지 않아...못적었어요 ㅜ_ㅜ 죄송합니다~

728x90
반응형

'API' 카테고리의 다른 글

1초에 한번씩 캡쳐 화면 파일로 저장하기  (0) 2010.03.27
Win API Timer  (0) 2010.03.21
캡쳐 화면 BMP로 저장하기  (0) 2010.03.14
메뉴의 단축키, 액셀러레이터 생성  (0) 2010.03.12
메뉴 만들기  (1) 2010.03.11
포커스가 있는 윈도우 캡쳐  (0) 2010.03.10
API로 구현한 전체화면 캡쳐 소스  (0) 2010.03.09
DC 구조체에 관해....  (1) 2010.03.09
버튼 생성  (0) 2010.03.06
API의 첫 시작  (0) 2010.03.05