#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;
}
#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 |