C, C++

리눅스 폴더 만들기(linux directory )

슬픈달 2019. 1. 23. 09:55
반응형

#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