Мой текущий код выглядит так:
Код: Выделить всё
boost::filesystem::directory_iterator itr(dir);
boost::filesystem::directory_iterator end;
Poco::SharedPtr
fileList(new Poco::JSON::Array);
for (; itr != end; ++itr) {
boost::filesystem::path entryPath = itr->path();
Poco::File file(entryPath.string());
// ...
Я также пробовал Poco::DirectoryIterator, который обеспечивает то же поведение, что и Boost, и Poco::SortedDirectoryIterator, который всегда выдает ошибку доступа к файлу: нарушение совместного использования: \pagefile.sys при чтении C:\.
В идеале этот код должен включать символические ссылки в системах Linux и MacOS, игнорируя при этом перекрестки в Windows.
Подробнее здесь: https://stackoverflow.com/questions/545 ... ns-symlink
Мобильная версия