#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
void MakeDirectory(char *pcFullPath);
int main()
{
MakeDirectory( (char*)"/export/home/ering/tmp/MakeDir/00/01/");
return 0;
}
void MakeDirectory(char *pcFullPath)
{
char acTempBuf[256], *sp;
strcpy(acTempBuf, pcFullPath); // 경로문자열을 복사
sp = acTempBuf; // 포인터를 문자열 처음으로
while((sp = strchr(sp, '/'))) // 디렉토리 구분자를 찾았으면
{
if(sp > acTempBuf && *(sp - 1) != ':') // 루트디렉토리가 아니면
{
*sp = '\0'; // 잠시 문자열 끝으로 설정
mkdir(acTempBuf, S_IFDIR | S_IRWXU | S_IRWXG | S_IXOTH | S_IROTH); // 디렉토리를 만들고 (존재하지 않을 때)
*sp = '/'; // 문자열을 원래대로 복귀
}
sp++; // 포인터를 다음 문자로 이동
} // end of while
}
'C, C++' 카테고리의 다른 글
Setting PATH and LD_LIBRARY_PATH for the bash shell (0) | 2019.01.23 |
---|---|
-Wdeprecated-declarations 경고 없애기 (0) | 2019.01.23 |
문자열 한글 포함 Hexa 코드로 변경 (0) | 2019.01.23 |
문자열 치환 (0) | 2019.01.23 |
C++ 한글 체크 (0) | 2019.01.23 |