태그: filesystem
7편
-
Windows에서만 파일을 못 찾을 때: std::filesystem 경로 연산, 디렉터리 순회, 권한
Linux·macOS에선 되는데 Windows에서만 파일을 못 찾는 문제에서 출발해 std::filesystem을 정리합니다. 경로 연산, 디렉터리 순회, 파일 복사·이동·삭제, 권한, 자주 나는 에러를 다룹니다.
-
C++ std::filesystem 파일 연산: copy·rename·remove와 덮어쓰기·원자성 문제
std::filesystem의 copy, rename, remove, create_directories로 파일과 디렉토리를 다루면서 대상이 이미 있을 때의 덮어쓰기 에러, 비어 있지 않은 디렉토리 삭제 실패, 예외와 error_code 중 무엇을 쓸지 같은 문제를 예제로 해결합니다.
-
C++ filesystem::status로 파일 종류·권한·수정 시간 확인하기
std::filesystem::status와 symlink_status가 반환하는 file_status로 파일 종류와 권한을 확인하는 방법, perms 비트 검사, 수정 시간과 디스크 공간 조회, 심볼릭 링크와 존재 확인에서 생기는 함정을 예제로 다룹니다.
-
C++17 std::filesystem 빠른 참조: 경로 정규화, exists()의 TOCTOU, remove_all 주의점
C++17 std::filesystem의 path 정규화, exists()의 TOCTOU 위험, remove_all 오남용, 예외 vs error_code 선택 기준을 실전 경험과 함께 정리했습니다.
-
C++17 directory_iterator로 폴더 순회하기: 재귀 탐색, 필터링, 심볼릭 링크와 오류 처리
C++17 filesystem의 directory_iterator와 recursive_directory_iterator로 폴더를 순회하며 확장자별 파일 검색, 디렉터리 크기 계산, 필터링을 구현하고, 심볼릭 링크 추적 옵션과 error_code 기반 오류 처리를 설명합니다.
-
C++ filesystem::path: 경로 결합·분해, absolute·canonical·relative 차이
std::filesystem::path의 / 연산자로 경로를 결합하고 filename, stem, extension으로 부분을 추출하는 법, absolute, canonical, relative의 차이, 확장자 일괄 변경과 백업 경로 생성 예제로 Windows와 Linux에서 같은 코드가 동작하게 만드는 방법을 다룹니다.
-
2026년 Boost 라이브러리 훑어보기: Asio·Beast·Filesystem 설치와 활용
Boost를 apt·vcpkg·소스로 설치해 CMake find_package로 연결하는 과정, Asio·Filesystem·Regex·Program_options 예제, undefined reference·ABI 불일치 같은 링크 에러 해결, 표준 라이브러리로 옮길 시점까지 다룹니다.