Доброго всем времени суток.
Начал знакомиться с Boost. Подскажите, пожалуйста.
Есть следующий код:
-------------------
boost::filesystem::path path("no_such_directory");
try
{
for(boost::filesystem::directory_iterator file(path); file != boost::filesystem::directory_iterator(); file++)
std::cout << file->path().string() << std::endl;
}
catch(boost::filesystem::filesystem_error e)
{
std::cout << e.what() << std::endl;
}
-------------------
Если директориии "no_such_directory" не существует, то программа выдает мне "boost::filesystem::basic_directory_iterator constructor", а хотелось бы, чтобы выдавала что-нибудь вроде "No such file or directory" (т. е. то, что выдает strerror(errno)).
Как это сделать? Насколько я понимаю, вызывать вручную в обработчике strerror(errno) не правильно, т. к. не понятно, какие системные вызовы производит Boost после возникновения ошибки чтения директории, которые могут изменить интересующее меня значение errno.