파일을 사용하여 현재 디렉토리 표시

C++Beginner
지금 연습하기

소개

이 랩에서는 C++ 프로그램을 사용하여 파일 시스템을 통해 현재 디렉토리 또는 폴더를 표시하는 방법을 배우게 됩니다. 현재 디렉토리의 파일 및 폴더 목록을 표시하기 위해 두 가지 다른 방법을 구현할 것입니다.

C++ 파일 생성

~/project 디렉토리에 main.cpp라는 C++ 파일을 생성합니다. 파일 생성에는 어떤 코드 편집기나 IDE 를 사용해도 좋습니다.

touch ~/project/main.cpp

필요한 라이브러리 포함

이 단계에서는 프로그램에 필요한 라이브러리를 포함해야 합니다. 이러한 라이브러리는 C++ 에서 파일 및 디렉토리를 조작하는 데 필요합니다. 다음 코드를 사용하여 라이브러리를 포함합니다.

#include<iostream>
#include<dirent.h> // 디렉토리 연산을 위한 헤더 파일
using namespace std;

첫 번째 메서드 구현

이 단계에서는 현재 디렉토리의 파일 및 폴더 목록을 표시하는 첫 번째 메서드를 구현합니다. for 루프를 사용하여 목록을 표시하려면 다음 코드를 사용하십시오.

int main()
{
    struct dirent *d; // 디렉토리 항목에 대한 포인터
    DIR *dr; // 디렉토리에 대한 포인터
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // 파일 또는 폴더의 이름 출력
        }
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

두 번째 메서드 구현

이 단계에서는 현재 디렉토리의 파일 및 폴더 목록을 표시하는 두 번째 메서드를 구현합니다. while 루프를 사용하여 목록을 표시하려면 다음 코드를 사용하십시오.

int main()
{
    struct dirent *d; // 디렉토리 항목에 대한 포인터
    DIR *dr; // 디렉토리에 대한 포인터
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // 파일 또는 폴더의 이름 출력
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

프로그램 컴파일 및 실행

이 단계에서는 main.cpp 파일을 컴파일하고 실행해야 합니다. 다음 명령을 사용하여 프로그램을 컴파일하고 실행하십시오.

g++ main.cpp -o main && ./main

main.cpp 전체 코드

#include<iostream>
#include<dirent.h> // 디렉토리 연산을 위한 헤더 파일
using namespace std;

// Method 1
int main()
{
    struct dirent *d; // 디렉토리 항목에 대한 포인터
    DIR *dr; // 디렉토리에 대한 포인터
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // 파일 또는 폴더의 이름 출력
        }
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;

    // Method 2
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // 파일 또는 폴더의 이름 출력
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

요약

이 랩에서는 파일 시스템을 사용하여 현재 디렉토리 또는 폴더를 표시하는 C++ 프로그램을 작성하는 방법을 배웠습니다. 현재 디렉토리의 파일 및 폴더 목록을 표시하기 위해 두 가지 다른 방법을 구현했습니다. 또한 Ubuntu 터미널에서 C++ 프로그램을 컴파일하고 실행하는 방법도 배웠습니다.