API

디렉토리 생성

엔젤루스 2010. 3. 27. 11:47
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
반응형