이전에 올린 C#의 Path 관련 포스팅을 보시면 파일 관련해서 사용할수 있는 유용한 함수들이 많습니다. C++에서도 이런게 있으면 좋겠다라는 생각이 많이들죠. 직접 구현해도 되겠지만, 이미 잘 만들어져 있는 라이브러리가 있다면 그런 수고를 들일 필요가 없겠죠. 바로 Boost 라이브러리의 FileSystem입니다.

FileSystem을 사용하기 위해서는 일단 Boost 부터 설치해야합니다. 그리고 FileSystem은 정적 라이브러리를 사용하기 때문에 라이브러리 빌드도 해줘야 합니다. 설치 및 빌드가 귀찮으신 분들은 이전에 포스팅한 BoostPro를 사용해보시기 바랍니다. 별다른 수고 없이 손쉽게 Boost를 설치 할수 있습니다.


FileSystem을 사용하게 되면 경로 조작이나 파일 유무 판별, 파일 확장자 구하기, 루트 디렉토리 구하기등의 기능을 편하게 사용할수 있습니다.

// file system을 이용하여 파일 유무 판별과 확장자 구하기의 예
wpath wp(L"Resource\\Elephant.XML");
EXPECT_TRUE( exists(wp) );

wstring strExt = extension(wp);
EXPECT_TRUE( 0 == strExt.compare(L".XML") );

Boost FileSystem : http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm

+ Recent posts