반응형
#include <filesystem>
#include <iostream>
#include "FileSystemExample.h"
using namespace std;
namespace fs = std::experimental::filesystem::v1;
namespace samples
{
static const char* FOLDER_NAME = "FileSystemExample";
static const char* COPIED_FOLDER_NAME = "Copied";
static const char* FILE_NAME = "test.txt";
static const char* RENAMED_FILE_NAME = "renamed_text.txt";
void FileSystemExample()
{
const fs::path WORKING_DIRECTORY = fs::current_path() / FOLDER_NAME;
const fs::path COPIED_FOLDER_DIRECTORY = WORKING_DIRECTORY / COPIED_FOLDER_NAME;
fs::create_directory(COPIED_FOLDER_DIRECTORY);
fs::path originalFileLocation = WORKING_DIRECTORY / FILE_NAME;
cout << originalFileLocation << endl;
fs::path copiedFileLocation = COPIED_FOLDER_DIRECTORY / FILE_NAME;
fs::copy(originalFileLocation, copiedFileLocation);
fs::path renamedFileLocation = WORKING_DIRECTORY / RENAMED_FILE_NAME;
fs::rename(originalFileLocation, renamedFileLocation);
for (auto& path : fs::recursive_directory_iterator(WORKING_DIRECTORY))
{
std::cout << path << std::endl;
}
fs::copy(copiedFileLocation, originalFileLocation);
fs::remove(renamedFileLocation);
fs::remove_all(COPIED_FOLDER_DIRECTORY);
}
}
파일 시스템의 좋은 예제가 공유되어 있습니다. 파일시스템의 연산이 어떻게 동작하고 있는지와 파일을 이동하고, 복사하고, 삭제하는 과정들을 나타내고 있습니다.
파일 시스템을 개발하고 있는 데, C++17에 속한 라이브러리라 적극적으로 활용하지 못하고 있는 것이 아쉬울 따름입니다. 추후에 시간이 흘러서 C++17을 활용할 날을 고대하고 있습니다.
그 때, 적극적으로 활용하기 위해, 출처와 예제를 남기게 되었습니다.
반응형
'SW > C++' 카테고리의 다른 글
C++ : 가변 인자 템플릿 : 장점, 사용법, 예제, 개념 (0) | 2020.04.19 |
---|---|
C++ : module : 모듈 시스템 개요, 사용 방법, 장단점 (0) | 2020.04.18 |
C++ : filesystem : 파일 복사, 디렉터리 이동, 바꾸기, 삭제, 목록, 권한 : 예제 (1) | 2020.04.16 |
C++ : filesystem : 라이브러리 개요, 사용법, 예제, 특징 (0) | 2020.04.15 |
C++ : 헤더파일 초기화 : 정적 변수, 정적 상수 : 사용법, 활용법, 팁 (0) | 2020.04.14 |