Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

리눅스에서 C++로 디렉터리 트리를 만드는 방법

이 글에서는 리눅스 환경에서 C++ 코드를 사용해 디렉터리 트리(directory tree)를 생성하는 방법을 알아봅니다.

먼저 리눅스 터미널에서는 다음과 같은 명령어로 여러 단계의 하위 디렉터리를 한 번에 만들 수 있습니다.

mkdir -p /dir/dir1/dir2

여기서 -p 옵션은 부모(parent) 디렉터리를 의미하며, 존재하지 않는 상위 디렉터리까지 재귀적으로 모두 생성하도록 지시하는 역할을 합니다.

C++ 코드에서 디렉터리 트리 생성하기

C++ 코드에서도 리눅스 시스템 라이브러리를 활용할 수 있습니다. 가장 간단한 방법은 system() 함수에 리눅스 터미널 명령어를 문자열 인자로 전달하는 것입니다. 이를 통해 위의 mkdir 명령과 동일한 결과를 얻을 수 있습니다.

예제 코드

#include <bits/stdc++.h>
#include <iostream>
#include <sys/stat.h>
#include <sys/types.h>
using namespace std;
int main() {
    int status;
    status = system("mkdir -p TP/My_Folder/test"); // 디렉터리 생성
    if (status == -1)
        cerr << "Error : " << strerror(errno) << endl;
    else
        cout << "디렉터리가 성공적으로 생성되었습니다" << endl;
}

실행 결과

디렉터리가 성공적으로 생성되었습니다

프로그램 실행 후 터미널에서 ls -R 명령어 등으로 직접 확인해 보면, 현재 작업 디렉터리 안에 TP → My_Folder → test 순으로 디렉터리 트리가 생성된 것을 확인할 수 있습니다.