디렉토리생성

익명 사용자의 이미지

안녕하세요.
파일을 생성하는데 존재하지 않는 디렉토리에서 fopen하니까 에러가 발생
하더군요. =_=;;
파일을 생성하면서 존재하지 않는 디렉토리가 경로에 포함되어 있다면 같
이 생성하는 것...방법이 있을까요?
없다면 디렉토리 생성하는 방법 좀 가르쳐주세요.

그럼 메리크리스마스

익명 사용자의 이미지


제가 사용하고 있는 CreateAppDir 입니다.
참고 하십시요.

/*----------------------------------------------------------------
* 함 수 명 CreateAppDir
* 설 명 App의 Drectory를 생성하는 함수이다.
* 매개변수 char *d, int flag
* Return int
* 참 고 Directory Create
* 주 의 flag 1=Dir, 2=File
Base Dir부터 만들기 때문에 조심해서
사용해야 한다.
-----------------------------------------------------------------*/
int CreateAppDir(char *d, int flag)
{
int k, cnt=0;
char tmp[1024], buf[1024];
struct stat st;

memset(tmp, 0x00, sizeof(tmp));
memset(buf, 0x00, sizeof(buf));
strcpy(buf, d);

if(flag == 1 && buf[strlen(buf)-1] != '\\' && buf[strlen(buf)-
1] != '/') strcat(buf, "/");

for(k = 0; k < (int)strlen(buf); k++) {
if(buf[k] == '\\' || buf[k] == '/') {
cnt++;
buf[k] = '/';
if(strlen(tmp) > 0 && cnt > 1) {
if(stat(tmp, &st) < 0) {
if(mkdir(tmp, DIRFLAG) < 0) {
printf("(%s)Directory를 생성할 수 없습니
다.\n", tmp);
return(RFAIL);
}
}
}
}
tmp[k] = buf[k];
}

for(k = 0; k < (int)strlen(d); k++) if(d[k] == '\\' || d[k]
== '/') d[k] = '/';
if(flag == 1 && (d[strlen(buf)-1] == '\\' || d[strlen(buf)-1]
== '/')) d[strlen(buf)-1] = 0;

return(ROK);
}

익명 사용자의 이미지

#man mkdir

익명 사용자의 이미지

해결을 했습니다.
mkdir("경로", 509);하면 되더군요.
완전한 사용법은 직접 해보면서 익힐 수 밖에 없겠네요.
혹시 아시는 분 있으시면 답변 주심 안될까요?