반응형
파일 복사하기
namespace fs = std::experimental::filesystem::v1;
int main ()
{
fs::path originalTextPath = "C:\\examples\\myRank.txt";
fs::path copiedTextPath = "C:\\examples\\copiedMyRank.txt";
fs::path originalDirPath = "C:\\examples\\folder";
fs::path copiedDirPath1 = "C:\\examples\\copiedFolder1";
fs::path copiedDirPath2 = "C:\\examples\\copiedFolder2";
fs::copy(originalTextPath , copiedTextPath);
fs::copy(originalDirPath, copiedDirPath1);
fs::copy(originalDirPath, copiedDirPath2, fs::copy_options::recursive);
return 0;
}
파일을 복사할수 있고, 디렉토리도 복사할 수 있으며, 재귀적으로 복사도 가능합니다.
파일 또는 디렉터리 이름 바꾸기/이동
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem::v1;
int main()
{
fs::path filePath = "C:\\examples\\myRank.txt;
fs::path renamedPath = "C:\\examples\\folder1\\rank.txt";
fs::rename(filePath, renamedPath);
return 0;
}
파일 또는 디렉터리의 이름을 바꾸거나 이동시킵니다.
파일 또는 디렉터리 삭제
#include<experimental/filesystem>
namespace fs = std::experimental::filesystem::v1;
int main()
{
fs::path currentPath = fs::current_path();
fs::create_directories(currentPath / "data");
fs::remove(currentPath / "data);
return 0;
}
파일이나 빈 디렉터리를 삭제합니다. 안에 들어있는 내용물들을 삭제하는 데 , remove_all()은 모든 파일을 지워버립니다.
디렉터리의 파일 목록 구하기
#include<experimental/filesystem>
namespace fs = std::experimental::filesystem::v1;
int main()
{
for (auto & path : fs::recursive_directory_iterator("C:\\Lecture\\FilesystemExample"))
{
std::cout << path << std::endl;
}
return 0;
}
해당 디렉토리에 있는 파일 경로를 다 가지고 옵니다. 디렉터리의 요소들을 순회합니다. 재귀적으로 하위 디렉터리의 요소들을 순회합니다.
파일 속성(권한) 읽기
#include <experimanetal/filesystem>
void PrintPermission(fs::perms permission)
{
std::cout << ((permission & fs::perms::owner_read) != fs::perms::non ? "r" : "-") << std::endl;
//
// 다양한 소유권 체크
//
}
int main()
{
fs::path filePath = "rank.txt";
PrintPermission(fs::status(filePath).permissions());
return 0;
}
파일 상태를 반환합니다. 블록파일, 디렉터리 등등을 반환합니다. 퍼미션 함수는 소유자의 읽기, 쓰기, 실행, 그룹의 읽기, 쓰기, 실행, 외부인의 읽기, 쓰기, 실행 등을의 권한을 반환합니다.
반응형
'SW > C++' 카테고리의 다른 글
C++ : module : 모듈 시스템 개요, 사용 방법, 장단점 (0) | 2020.04.18 |
---|---|
C++ : filesystem : 기본 예제, 사용법, 주의 사항 (0) | 2020.04.17 |
C++ : filesystem : 라이브러리 개요, 사용법, 예제, 특징 (0) | 2020.04.15 |
C++ : 헤더파일 초기화 : 정적 변수, 정적 상수 : 사용법, 활용법, 팁 (0) | 2020.04.14 |
C++ : enum class : enum과 차이점, 장점, 사용법, 반복문 예제 (0) | 2020.04.13 |