構成
- macOS: 10.15.5
- クロスコード: 11.5
- クラン: 11.0.3
- プロジェクトは c++17 に設定されています
私はmacOSが初めてで、簡単な問題を解決しようとしています..
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main(int argc, const char * argv[]) {
for(const auto& p: fs::recursive_directory_iterator("data/"))
cout << p.path() << '\n';
return 0;
}
このコードでエラーが発生します(xcode、clion、cmakeで試しました)-
uncaught exception of type std::__1::__fs::filesystem::filesystem_error:
filesystem error: in recursive_directory_iterator: No such file or directory [data/]
問題
ここで、データフォルダーは手動で作成されるか、自動で作成されます。その中にランダムファイルが生成されます(サブディレクトリファイルも)。これらすべてのファイルのパスと名前が必要です。
追加情報
このコードは問題なく動作します
#include <fstream>
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
fs::create_directories("sandbox/a/b");
std::ofstream("sandbox/file1.txt");
fs::create_symlink("a", "sandbox/syma");
for(auto& p: fs::recursive_directory_iterator("sandbox"))
std::cout << p.path() << '\n';
fs::remove_all("sandbox");
}