본문 바로가기

Windows/Windows API

디렉토리 생성 (하위 디렉토리 포함) CreateDirectory (Sub)

#include <direct.h>
#include <stdio.h>
#include <errno.h>

int mymkdir(LPCTSTR dirname)
{
    int ret=0;
#ifdef WIN32
    ret = mkdir(dirname);
#else
    #ifdef unix
        ret = mkdir (dirname,0775);
    #else
        #ifdef __TURBOC__
            ret = mkdir (dirname);
        #endif
    #endif
#endif

    return ret;
}

int makedir (LPCTSTR newdir)
{
    char *buffer ;
    char *p;
    int len = strlen(newdir);

    if (len <= 0)
        return 0;

    buffer = (char*)malloc(len+1);
    strcpy(buffer,newdir);

    if (buffer[len-1] == '/') {
        buffer[len-1] = '\0';
    }

    if (mymkdir(buffer) == 0)
    {
        free(buffer);
        return 1;
    }

    p = buffer+1;
    while (1)
    {
        char hold;

        while(*p && *p != '\\' && *p != '/')
            p++;
        hold = *p;
        *p = 0;
        if ((mymkdir(buffer) == -1) && (errno == ENOENT))
        {
            printf("couldn't create directory %s\n",buffer);
            free(buffer);
            return 0;
        }
        if (hold == 0)
            break;
        *p++ = hold;
    }
    free(buffer);
    return 1;
}

'Windows > Windows API' 카테고리의 다른 글

ClientToScreen  (0) 2013.10.01
File list  (0) 2013.10.01
GDI+ 선의 끝모양  (0) 2013.10.01
GDI+ 안티 알라이싱  (0) 2013.10.01
프로그램 실행 (CreateProcess)  (0) 2013.10.01