API
디렉토리 생성
엔젤루스
2010. 3. 27. 11:47
728x90
반응형
디렉토리 명을 호출시 받아오고 그 디렉토리 명을 검사해서 있으면 만들지 않고 지나가게 됩니다.
원래 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
반응형