std filesystem 예제

C++17부터 std::filesystem 라이브러리가 추가되어 파일 및 디렉토리 관리 작업이 간소화되었습니다. 이 라이브러리를 사용하여 파일과 디렉토리를 생성, 복사, 이동, 삭제하는 등의 작업을 수행할 수 있습니다. 이제 std::filesystem를 사용한 몇 가지 예제를 살펴보겠습니다.

예제 1: 파일 복사하기

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    fs::path sourceFilePath = "path/to/sourceFile.txt";
    fs::path destinationFilePath = "path/to/destinationFile.txt";

    try {
        fs::copy_file(sourceFilePath, destinationFilePath);
        std::cout << "파일이 성공적으로 복사되었습니다." << std::endl;
    } catch (const fs::filesystem_error& e) {
        std::cerr << "파일 복사 중 오류가 발생했습니다: " << e.what() << std::endl;
    }

    return 0;
}

이 예제에서는 sourceFilePath에 있는 파일을 destinationFilePath에 있는 파일로 복사합니다. std::filesystem::copy_file 함수를 사용하여 파일을 복사하고, 예외 처리를 통해 오류 여부를 확인합니다.

예제 2: 디렉토리 생성하기

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    fs::path directoryPath = "path/to/newDirectory";

    try {
        fs::create_directory(directoryPath);
        std::cout << "디렉토리가 성공적으로 생성되었습니다." << std::endl;
    } catch (const fs::filesystem_error& e) {
        std::cerr << "디렉토리 생성 중 오류가 발생했습니다: " << e.what() << std::endl;
    }

    return 0;
}

이 예제에서는 directoryPath에 지정된 경로에 새로운 디렉토리를 생성합니다. std::filesystem::create_directory 함수를 사용하여 디렉토리를 생성하고, 예외 처리를 통해 오류 여부를 확인합니다.

여기에서는 std::filesystem의 일부 기능을 보여주었지만, 이 라이브러리는 파일 및 디렉터리 상호작용에 다양한 기능을 제공합니다. 필요한 작업에 맞게 적절한 함수를 사용하여 파일 및 디렉터리 작업을 수행할 수 있습니다.

#filesystem #C++