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