void readfile(std::vector<boost::filesystem::path>::iterator start, std::vector<boost::filesystem::path>::iterator end) { while (start != end) { std::string path = start->string(); // преобразование пути в строку std::ostringstream buff; // буфер для накопления std::ifstream file(path); if (file.is_open()) // проверяем успешность открытия файла, если успешно, то: { int num = 0; std::string strnum; file >> strnum; // считываем содержимое файла в строку try { num = boost::lexical_cast<int>(strnum.c_str()); // приводим строку к целому, в случае ошибки - исключение sum += num; // если приведение прошло успешно, то увеличиваем общую сумму на значение из текущего файла buff << path.substr(path.find_last_of("\\") + 1) << ": " << num << std::endl; // добавляем информацию в буфер } catch (const boost::bad_lexical_cast) { buff << "Error file: " << path << std::endl; } file.close(); // закрываем файл ++start; // переводим указатель } else {