w funkcji przeszukującej dysk program wywala się na folderach systemowych ( mimo że jestem na koncie administratora ) np system volume information, znalazłem w sieci metodę na ominięcie tego problemu mianowicie no_push() ::
You should call no_push() before moving to the next iterator.
Pseudo code:
if( it is a directory that I want to skip) it.no_push(); ++it;
i teraz w pętli chciałem sprawdzać uprawnienia do każdego folderu i w razie braku uprawnień wywołać no_push(), ++it.
W dokumentacji boost znalazłem klasę file_status która ma metody type() - zwraca typ pliku np regular_file i metodę permissions() która zwraca uprawnienia do pliku ale to co zwraca w moim przypadku jest kompletnie bez sensu ponieważ na wyjściu dostaje 438...
jakieś sugestie? ewentualnie inna możliwość iteracji po katalogach z omijaniem tych problematycznych