ファイルシステム操作には一般的にはboostを使っているのを見かけますが、実は標準ライブラリ(Standard Library)でも実現できます。仕様はここなどを参照していただくとして、今回はVisual Studio 2019で使用する方法をご紹介します。
名前空間としては、std::filesystemです。Visual Studio 2019でstd::filesystemを使うためには、C++17を有効にする必要があります。Visual Studio 2019でプロジェクトを開いた状態で、[プロジェクト]-[(プロジェクト名)のプロパティ]でプロジェクトのプロパティを開きます。プロパティの左画面で[C++]-[言語]を選択して、右画面の「C++言語標準」で「ISO C++17標準(/std:c++17)」を選択します。
または、CMakeで同様の設定をする際には、CMakeLists.txtに下記定義を追加します。
set_property(TARGET ${ProjectName} PROPERTY CXX_STANDARD 17) set_property(TARGET ${ProjectName} PROPERTY CXX_STANDARD_REQUIRED ON)
これで準備は完了です。あとは、下記サンプルの通りソースコードでファイルシステムAPIを使用することができます。
#include namespace fs = std::filesystem; int main() { fs::path plyfile = "/aaa/bbb/cccc.ply";